package svmysql import ( "apigame/service-common/svconst" "fmt" "github.com/astaxie/beego" "gorm.io/driver/mysql" "gorm.io/gorm" "gorm.io/gorm/logger" "log" "os" "time" ) func Init() bool { // ConnectMySQL if db, err := ConnectMySQL(beego.AppConfig.String("mysql::" + svconst.MYSQL_DBAPI)); err == nil { svconst.DbApi = db } else { fmt.Println("svmysql.Init DbApi Error::" + err.Error()) return false } if db, err := ConnectMySQL(beego.AppConfig.String("mysql::mergecommon")); err == nil { svconst.DbCommon = db } else { fmt.Println("svmysql.Init DbCommon Error::" + err.Error()) return false } if db, err := ConnectMySQL(beego.AppConfig.String("mysql::" + svconst.MYSQL_MERGECONFIG)); err == nil { svconst.DbConfig = db } else { fmt.Println("svmysql.Init DbConfig Error::" + err.Error()) return false } return true } func ConnectMySQL(dsn string) (db *gorm.DB, err error) { newLogger := logger.New( log.New(os.Stdout, "\r\n", log.LstdFlags), // io writer logger.Config{ SlowThreshold: time.Second, // Slow SQL threshold LogLevel: logger.Silent, // Log level IgnoreRecordNotFoundError: true, // Ignore ErrRecordNotFound error for logger ParameterizedQueries: true, // Don't include params in the SQL log Colorful: false, // Disable color }, ) return gorm.Open(mysql.Open(dsn), &gorm.Config{ Logger: newLogger, }) }