Files
LingXi-CRM/server/initialize/gorm.go
T
2022-11-28 16:38:30 +08:00

34 lines
756 B
Go

package initialize
import (
"crm/global"
"fmt"
"time"
"gorm.io/driver/mysql"
"gorm.io/gorm"
"gorm.io/gorm/schema"
)
// 初始化MySQl数据库
func Mysql() {
m := global.Config.Mysql
s := "%s:%s@tcp(%s:%v)/%s?charset=utf8&parseTime=True&loc=Local"
var dsn = fmt.Sprintf(s, m.Username, m.Password, m.Host, m.Port, m.Dbname)
db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{
NamingStrategy: schema.NamingStrategy{SingularTable: true},
})
if err != nil {
fmt.Printf("mysql error: %s", err)
return
}
sqlDb, err := db.DB()
if err != nil {
fmt.Printf("mysql error: %s", err)
}
sqlDb.SetMaxIdleConns(m.MaxIdleConns)
sqlDb.SetMaxOpenConns(m.MaxOpenConns)
sqlDb.SetConnMaxLifetime(time.Duration(m.ConnMaxLifetime))
global.Db = db
}