0_base.go 1009 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package sql
  2. import (
  3. "cockData/server/config"
  4. "cockData/server/log"
  5. "fmt"
  6. "gorm.io/driver/mysql"
  7. "gorm.io/gorm"
  8. )
  9. var _db *gorm.DB
  10. func createMySQLClient(config *config.MySQLConfig) {
  11. var err error
  12. _db, err = gorm.Open(mysql.New(mysql.Config{
  13. DSN: configToStr(config),
  14. DefaultStringSize: 255,
  15. }), &gorm.Config{
  16. DisableForeignKeyConstraintWhenMigrating: true, // 禁用外键约束
  17. })
  18. if err != nil {
  19. panic(err)
  20. }
  21. sqlDB, err := _db.DB()
  22. if err != nil {
  23. panic(err)
  24. }
  25. sqlDB.SetMaxIdleConns(config.MaxIdleCon)
  26. sqlDB.SetMaxOpenConns(config.MaxOpenCon)
  27. }
  28. // 本地时间
  29. func configToStr(config *config.MySQLConfig) string {
  30. 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)
  31. }
  32. func Init(config *config.MySQLConfig) {
  33. createMySQLClient(config)
  34. log.Info("MySQL连接完毕...")
  35. }
  36. func CreateTables() {
  37. _db.AutoMigrate(&RecordUser{}, &RecordUserDiamond{})
  38. }