gorm-gorm-config.png
今天在开发项目的时候,在配置统一表前缀的时候,突然发现和之前的配置方式不一样,是因为一个项目使用的是v1.9.6版本,另外一个项目使用的最新1.20.9 也即是作者说的v2.0版本
v1.0 和 v2.0 变化对于使用者来说变化最大的表现在
1、包的安装和import
2、表全局前缀定义和禁用表复数
下面具体来操作验证下不同之处
包的安装和import
v1.0 版本
# http://v1.gorm.io/docs/
go get -u github.com/jinzhu/gorm
# 驱动import如下方式
_ "github.com/jinzhu/gorm/dialects/mysql"
V2.0 版本
# https://gorm.io/docs/
go get -u gorm.io/gorm
# 驱动独立,直接import
go get -u gorm.io/gorm/driver/mysql
数据库连接方式
在介绍表前缀和表复数禁用之前,先说说数据库连接的方式的不同,这个影响到后面有些参数的设置
v1.0版本
dsn := "xxxx:xxxxxx@tcp(127.0.0.1:3306)/yyyyy?charset=utf8mb4&parseTime=True&loc=Local"
// gorm - v1.x
db, err := gorm.Open("mysql", dsn) // *gorm.DB
v2.0版本
dsn := "xxxx:xxxxxx@tcp(127.0.0.1:3306)/yyyyy?charset=utf8mb4&parseTime=True&loc=Local"
// gorm - v2
// gorm.Config 参考 https://gorm.io/docs/gorm_config.htm