update
This commit is contained in:
@@ -58,6 +58,15 @@ func InitDefault(config *Config) error {
|
||||
}
|
||||
|
||||
func Init(key string, config *Config) error {
|
||||
db, err := New(config)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
instanceMap[key] = db
|
||||
return nil
|
||||
}
|
||||
|
||||
func New(config *Config) (*gorm.DB, error) {
|
||||
var (
|
||||
maxLifeTime, _ = time.ParseDuration(DefaultConfig.MaxLifeTime)
|
||||
maxIdleTime, _ = time.ParseDuration(DefaultConfig.MaxIdleTime)
|
||||
@@ -75,7 +84,7 @@ func Init(key string, config *Config) error {
|
||||
if config.MaxLifeTime != "" {
|
||||
t, err := time.ParseDuration(config.MaxLifeTime)
|
||||
if err != nil {
|
||||
return fmt.Errorf("parse MaxLifeTime err: %s\n", err)
|
||||
return nil, fmt.Errorf("parse MaxLifeTime err: %s\n", err)
|
||||
|
||||
}
|
||||
maxLifeTime = t
|
||||
@@ -84,7 +93,7 @@ func Init(key string, config *Config) error {
|
||||
if config.MaxIdleTime != "" {
|
||||
t, err := time.ParseDuration(config.MaxIdleTime)
|
||||
if err != nil {
|
||||
return fmt.Errorf("parse MaxIdleTime err: %s\n", err)
|
||||
return nil, fmt.Errorf("parse MaxIdleTime err: %s\n", err)
|
||||
}
|
||||
maxIdleTime = t
|
||||
}
|
||||
@@ -103,7 +112,7 @@ func Init(key string, config *Config) error {
|
||||
})
|
||||
|
||||
if err != nil {
|
||||
return fmt.Errorf("connect mysql err: %s", err)
|
||||
return nil, fmt.Errorf("connect mysql err: %s", err)
|
||||
}
|
||||
sqlDb, _ := db.DB()
|
||||
|
||||
@@ -112,8 +121,7 @@ func Init(key string, config *Config) error {
|
||||
sqlDb.SetConnMaxLifetime(maxLifeTime)
|
||||
sqlDb.SetConnMaxIdleTime(maxIdleTime)
|
||||
|
||||
instanceMap[key] = db
|
||||
return nil
|
||||
return db, nil
|
||||
}
|
||||
|
||||
func DefaultGormLogger(level gormLogger.LogLevel) gormLogger.Interface {
|
||||
@@ -130,12 +138,12 @@ func NewGormLogger(writer gormLogger.Writer, gormLoggerConfig gormLogger.Config)
|
||||
return gormLogger.New(writer, gormLoggerConfig)
|
||||
}
|
||||
|
||||
func Close(key string) {
|
||||
func CloseInstance(key string) {
|
||||
db, _ := Instance(key).DB()
|
||||
db.Close()
|
||||
}
|
||||
|
||||
func CloseAll() {
|
||||
func CloseAllInstance() {
|
||||
for _, v := range instanceMap {
|
||||
db, _ := v.DB()
|
||||
db.Close()
|
||||
|
||||
Reference in New Issue
Block a user