1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- package db
- import (
- "fmt"
- "sparkteam-dash/pkg/config"
- log "sparkteam-dash/pkg/logger"
- "time"
- "gorm.io/driver/mysql"
- "gorm.io/gorm"
- "gorm.io/gorm/logger"
- )
- var (
- logEngine *gorm.DB
- )
- func Init() {
- InitLogDb()
- }
- func InitLogDb() {
- mysqlConf := config.App.LogMySQL
- connectDNS := fmt.Sprintf("%s:%s@(%s)/%s?charset=utf8mb4&parseTime=True&loc=Local",
- mysqlConf.Username, mysqlConf.Password, mysqlConf.Addr, mysqlConf.DbName)
- conn, err := gorm.Open(mysql.Open(connectDNS),
- &gorm.Config{
- Logger: logger.Default.LogMode(config.GetLogLevel()),
- SkipDefaultTransaction: true,
- })
- if err != nil {
- panic(err)
- }
- if config.App.GinMode == "debug" {
- conn.Debug()
- }
- sqlDB, err := conn.DB()
- if err != nil {
- log.Fatalf("mysql lost: %v", err)
- }
- sqlDB.SetMaxIdleConns(10)
- sqlDB.SetMaxOpenConns(20)
- sqlDB.SetConnMaxLifetime(2 * time.Hour)
- logEngine = conn
- }
- func LogEngine() *gorm.DB {
- return logEngine
- }
|