123456789101112131415161718192021222324252627282930313233 |
- package mysql
- import (
- "gorm.io/driver/mysql"
- "gorm.io/gorm"
- "gorm.io/gorm/logger"
- "log"
- )
- /**
- 这个gromConfig支持自定义config 也可以用默认gorm的config,主要就是日志这一块
- */
- func GormMysql(dsn, driverName string, maxOpenConn, maxIdleConn int, gormConfig *gorm.Config) *gorm.DB {
- if gormConfig == nil {
- gormConfig = getGormConfig()
- }
- if db, err := gorm.Open(mysql.New(mysql.Config{DSN: dsn, DriverName: driverName}), gormConfig); err == nil {
- sqlDB, _ := db.DB()
- sqlDB.SetMaxIdleConns(maxIdleConn)
- sqlDB.SetMaxOpenConns(maxOpenConn)
- return db
- } else {
- log.Printf("GormMysql open Error,DSN:[%s],err:[%v]", dsn, err)
- }
- return nil
- }
- func getGormConfig() *gorm.Config {
- return &gorm.Config{
- Logger: logger.Default.LogMode(logger.Info),
- DisableForeignKeyConstraintWhenMigrating: true,
- }
- }
|