gofiber-study/app/datasources.go

35 lines
776 B
Go
Raw Normal View History

2022-10-05 14:47:07 +08:00
package app
import (
"github.com/gofiber/fiber/v2"
"gofiber.study.skcks.cn/common/config"
"gofiber.study.skcks.cn/common/logger"
"gofiber.study.skcks.cn/common/utils"
2022-10-05 14:47:07 +08:00
"gofiber.study.skcks.cn/global"
"gofiber.study.skcks.cn/middleware"
2022-10-05 14:47:07 +08:00
"xorm.io/xorm"
)
func reloadDataSources(c *config.BasicConfig) {
if global.DataSources != nil {
_ = global.DataSources.Close()
}
connGroup, err := xorm.NewEngineGroup("mysql", c.Mysql.DataSources)
if err != nil {
logger.Log.Fatalf("[x] [数据源] 致命错误: %s", err)
}
utils.MainAppExec(func() {
2022-10-05 14:47:07 +08:00
logger.Log.Infoln("[√] [数据源] 初始化完成")
})
global.DataSources = connGroup
if c.Mysql.AutoSync && !fiber.IsChild() {
global.SyncModelToDataSource()
}
middleware.NewCasbin(global.DataSources)
2022-10-05 14:47:07 +08:00
}