func NewMySQL(conf *conf.DB) {
var dsn = fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8mb4&parseTime=True&loc=Local", conf.User, conf.Password, conf.Host, conf.Port, conf.Database)
mysqlDb, err := gorm.Open(mysql.New(mysql.Config{
DSN: dsn,
DefaultStringSize: 256,
SkipInitializeWithVersion: false,
}), &gorm.Config{
NamingStrategy: schema.NamingStrategy{
TablePrefix: conf.Prefix,
SingularTable: true,
},
})
if err != nil {
panic(err)
}
sqlDB, err := mysqlDb.DB()
if err != nil {
panic(err)
}
sqlDB.SetMaxIdleConns(conf.MaxIdleConns)
sqlDB.SetMaxOpenConns(conf.MaxOpenConns)
sqlDB.SetConnMaxLifetime(time.Hour)
DB = mysqlDb
}