提交 5488bbe2 编写于 作者: Mr.奇淼('s avatar Mr.奇淼(

修复casbin导致连接泄露问题

上级 1b0d3db0
......@@ -90,8 +90,7 @@ func ClearCasbin(v int, p ...string) bool {
//@return: *casbin.Enforcer
func Casbin() *casbin.Enforcer {
admin := global.GVA_CONFIG.Mysql
a, _ := gormadapter.NewAdapter(global.GVA_CONFIG.System.DbType, admin.Username+":"+admin.Password+"@("+admin.Path+")/"+admin.Dbname, true)
a, _ := gormadapter.NewAdapterByDB(global.GVA_DB)
e, _ := casbin.NewEnforcer(global.GVA_CONFIG.Casbin.ModelPath, a)
e.AddFunction("ParamsMatch", ParamsMatchFunc)
_ = e.LoadPolicy()
......
......@@ -41,7 +41,12 @@ func createTable(dsn string, driver string, createSql string) error {
if err != nil {
return err
}
defer db.Close()
defer func(db *sql.DB) {
err := db.Close()
if err != nil {
}
}(db)
if err = db.Ping(); err != nil {
return err
}
......@@ -82,7 +87,6 @@ func InitDB(conf request.InitDB) error {
conf.Port = "3306"
}
dsn := fmt.Sprintf("%s:%s@tcp(%s:%s)/", conf.UserName, conf.Password, conf.Host, conf.Port)
fmt.Println(dsn)
createSql := fmt.Sprintf("CREATE DATABASE IF NOT EXISTS %s DEFAULT CHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_general_ci;", conf.DBName)
if err := createTable(dsn, "mysql", createSql); err != nil {
return err
......@@ -117,6 +121,7 @@ func InitDB(conf request.InitDB) error {
//global.GVA_LOG.Error("MySQL启动异常", zap.Any("err", err))
//os.Exit(0)
//return nil
_ = writeConfig(global.GVA_VP, BaseMysql)
return nil
} else {
sqlDB, _ := db.DB()
......@@ -142,6 +147,7 @@ func InitDB(conf request.InitDB) error {
model.SysOperationRecord{},
)
if err != nil {
_ = writeConfig(global.GVA_VP, BaseMysql)
return err
}
err = initDB(
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册