This commit is contained in:
2023-03-20 20:53:18 +08:00
parent 9c83b42ccd
commit 2fa24a33ab
2 changed files with 41 additions and 42 deletions

View File

@@ -1,7 +1,6 @@
package mymysql
import (
"database/sql"
"fmt"
"git.makemake.in/test/mycommon/mylog"
"gorm.io/driver/mysql"
@@ -23,14 +22,10 @@ var (
GormLogger: gormLogger.Default.LogMode(gormLogger.Info),
}
instanceMap = make(map[string]*MyDB)
instanceMap = make(map[string]*gorm.DB)
)
type (
MyDB struct {
db *gorm.DB
sqlDb *sql.DB
}
Config struct {
Dsn string
MaxOpenConn int
@@ -42,7 +37,7 @@ type (
}
)
func Instance(key ...string) *MyDB {
func Instance(key ...string) *gorm.DB {
var key0 string
if len(key) > 0 {
@@ -58,11 +53,11 @@ func Instance(key ...string) *MyDB {
return instance
}
func NewDefault(config *Config) (*MyDB, error) {
func NewDefault(config *Config) (*gorm.DB, error) {
return New(DefaultKey, config)
}
func New(key string, config *Config) (*MyDB, error) {
func New(key string, config *Config) (*gorm.DB, error) {
var (
maxLifeTime, _ = time.ParseDuration(DefaultConfig.MaxLifeTime)
maxIdleTime, _ = time.ParseDuration(DefaultConfig.MaxIdleTime)
@@ -117,12 +112,8 @@ func New(key string, config *Config) (*MyDB, error) {
sqlDb.SetConnMaxLifetime(maxLifeTime)
sqlDb.SetConnMaxIdleTime(maxIdleTime)
myDb := &MyDB{
db: db,
sqlDb: sqlDb,
}
instanceMap[key] = myDb
return myDb, nil
instanceMap[key] = db
return db, nil
}
func DefaultGormLogger(level gormLogger.LogLevel) gormLogger.Interface {
@@ -139,16 +130,14 @@ func NewGormLogger(writer gormLogger.Writer, gormLoggerConfig gormLogger.Config)
return gormLogger.New(writer, gormLoggerConfig)
}
func (m *MyDB) Close() {
if m.sqlDb != nil {
m.sqlDb.Close()
func Close(key string) {
db, _ := Instance(key).DB()
db.Close()
}
func CloseAll() {
for _, v := range instanceMap {
db, _ := v.DB()
db.Close()
}
}
func (m *MyDB) DB() *gorm.DB {
return m.db
}
func (m *MyDB) SqlDB() *sql.DB {
return m.sqlDb
}