package sql import ( "cockData/server/config" "cockData/server/log" "fmt" "gorm.io/driver/mysql" "gorm.io/gorm" ) var _db *gorm.DB func createMySQLClient(config *config.MySQLConfig) { var err error _db, err = gorm.Open(mysql.New(mysql.Config{ DSN: configToStr(config), DefaultStringSize: 255, }), &gorm.Config{ DisableForeignKeyConstraintWhenMigrating: true, // 禁用外键约束 }) if err != nil { panic(err) } sqlDB, err := _db.DB() if err != nil { panic(err) } sqlDB.SetMaxIdleConns(config.MaxIdleCon) sqlDB.SetMaxOpenConns(config.MaxOpenCon) } // 本地时间 func configToStr(config *config.MySQLConfig) string { return fmt.Sprintf("%s:%s@tcp(%s:%d)/%s?charset=%s&parseTime=true&loc=Local", config.UserName, config.Pwd, config.Host, config.Port, config.DB, config.CharSet) } func Init(config *config.MySQLConfig) { createMySQLClient(config) log.Info("MySQL连接完毕...") } func CreateTables() { _db.AutoMigrate(&RecordUser{}, &RecordUserDiamond{}) }