update
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user