package utils import ( "github.com/spf13/viper" "gorm.io/driver/mysql" "gorm.io/gorm" "gorm.io/gorm/schema" "log" ) // DB var DB *gorm.DB func InitDB() { // 通过配置获取dsn dsn := viper.GetString("mysql.dsn") // 打开连接,连接池 db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{ // 关闭外键约束,在迁移时(通过模型生成表时) DisableForeignKeyConstraintWhenMigrating: true, // 命名策略:单数单数表名 NamingStrategy: schema.NamingStrategy{ SingularTable: true, }, }) if err != nil { log.Fatal(err) } DB = db }