optimize config

This commit is contained in:
bryan 2025-04-08 08:49:31 +08:00
parent 32d791051b
commit fa289fb531

18
gorm.go
View File

@ -38,8 +38,8 @@ type Config struct {
ExtraParameters string `toml:"extra_parameters"` //数据库连接扩展参数 ExtraParameters string `toml:"extra_parameters"` //数据库连接扩展参数
} }
func NewDB(dbcfg *Config) (*gorm.DB, error) { func NewDB(dbcfg Config) (*gorm.DB, error) {
return open(dbcfg) return open(&dbcfg)
} }
func NewSession(db *gorm.DB) *gorm.DB { func NewSession(db *gorm.DB) *gorm.DB {
@ -67,7 +67,7 @@ func (dbcfg *Config) Id() string {
return dbcfg.id return dbcfg.id
} }
func GetDsn(dbcfg *Config) (dsn string) { func (dbcfg *Config) GetDsn() (dsn string) {
switch dbcfg.Type { switch dbcfg.Type {
case "mysql": case "mysql":
//dsn := "user:pass@tcp(127.0.0.1:3306)/dbname?charset=utf8mb4&parseTime=True&loc=Local" //dsn := "user:pass@tcp(127.0.0.1:3306)/dbname?charset=utf8mb4&parseTime=True&loc=Local"
@ -97,11 +97,21 @@ func GetDsn(dbcfg *Config) (dsn string) {
return dsn return dsn
} }
func (dbcfg Config) GetSecDsn() string {
dsn := dbcfg.GetDsn()
if len(dbcfg.Password) > 5 {
p, l := dbcfg.Password, len(dbcfg.Password)
return strings.Replace(dsn, p[2:l-3], "*****", 1)
} else {
return dsn
}
}
func open(dbcfg *Config) (*gorm.DB, error) { func open(dbcfg *Config) (*gorm.DB, error) {
var ( var (
db *gorm.DB db *gorm.DB
err error err error
dsn = GetDsn(dbcfg) dsn = dbcfg.GetDsn()
cacheValue, inCacheYes = _dbCache.Load(dbcfg.Id()) cacheValue, inCacheYes = _dbCache.Load(dbcfg.Id())
cachedDb, inCacheYes2 = cacheValue.(*gorm.DB) cachedDb, inCacheYes2 = cacheValue.(*gorm.DB)
) )