You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

31 lines
587 B

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
}