有人能用方言解释一下GORM v1和GORM v2之间的区别吗?我一直在重用上一个项目中的代码,该项目使用GORM v1,它从dsn.Hostname查询方言gorm.GetDialect(),并通过gorm.RegisterDialect()应用它。在GORM 2中没有这样的方法,我很困惑这些方法是用来做什么的。似乎如果这些都被移除了,那么我们无论如何都不需要它们了,对吗?
gorm.GetDialect()
gorm.RegisterDialect()
xmjla07d1#
对于GORM V2,数据库连接更改为
import ( "gorm.io/driver/postgres" "gorm.io/gorm" ) dsn := "host=localhost user=gorm password=gorm dbname=gorm port=9920 sslmode=disable TimeZone=Asia/Shanghai" db, err := gorm.Open(postgres.Open(dsn), &gorm.Config{})
gorm.Open代码基于方言初始化数据库会话,替换为gorm.RegisterDialect()
gorm.Open
// Open initialize db session based on dialector func Open(dialector Dialector, opts ...Option) (db *DB, err error) { config := &Config{}
更多V2接口详情请参考https://gorm.io/docs/
1条答案
按热度按时间xmjla07d1#
对于GORM V2,数据库连接更改为
gorm.Open
代码基于方言初始化数据库会话,替换为gorm.RegisterDialect()
更多V2接口详情请参考https://gorm.io/docs/