import (
"github.com/jinzhu/gorm"
_ "github.com/jinzhu/gorm/dialects/mysql"
"server/config"
"gorm.io/plugin/dbresolver"
)
func DB(config *config.Config) {
var err error
config.DB, err = gorm.Open("mysql", config.DBDSN)
if err != nil {
panic(err)
}
if !config.IsDev {
config.DB.Use(dbresolver.Register(dbresolver.Config{
Replicas: []gorm.Dialector{mysql.Open("mysql", config.DBDSN2)},
}))
}
}
我正在尝试使用 GORM 的 DBresolver 来利用我的云 SQL 实例的只读副本。我认为我使用的GORM包和DBresolver插件存在一些版本控制问题。当我运行上面的代码时,我得到以下错误:
配置。断续器使用未定义(键入 *“github.com/jinzhu/gorm”。DB没有字段或方法使用)
未定义:“github.com/jinzhu/gorm”。方言
我无法在网上找到任何理由,关于GORM高级功能的在线资源也很少。如果我创建与副本的单独连接,我可以轻松使副本正常工作,但这样,每次与数据库交互时,我都需要指定 DB。我使用以下代码来实现上面的代码:https://gorm.io/docs/dbresolver.html
开满天机
相关分类