mirror of
https://gitee.com/shikong-sk/gofiber-study
synced 2025-02-23 23:32:15 +08:00
35 lines
776 B
Go
35 lines
776 B
Go
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"
|
|
"gofiber.study.skcks.cn/global"
|
|
"gofiber.study.skcks.cn/middleware"
|
|
"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() {
|
|
logger.Log.Infoln("[√] [数据源] 初始化完成")
|
|
})
|
|
|
|
global.DataSources = connGroup
|
|
|
|
if c.Mysql.AutoSync && !fiber.IsChild() {
|
|
global.SyncModelToDataSource()
|
|
}
|
|
|
|
middleware.NewCasbin(global.DataSources)
|
|
}
|