diff --git a/main.go b/main.go index bfb29c1..ff43765 100644 --- a/main.go +++ b/main.go @@ -2,7 +2,6 @@ package main import ( "git.magicany.cc/black1552/gin-base/config" - "git.magicany.cc/black1552/gin-base/database" "git.magicany.cc/black1552/gin-base/log" "git.magicany.cc/black1552/gin-base/server" ) @@ -10,9 +9,6 @@ import ( // TIP

To run your response, right-click the response and select Run.

Alternatively, click // the icon in the gutter and select the Run menu item from here.

func main() { - // 初始化数据库连接 - initDatabase() - g := server.New() cf, err := config.Unmarshal[config.BaseConfig]() if err != nil { @@ -21,31 +17,3 @@ func main() { log.Info("启动服务:", cf.Server.Addr) server.Run(g) } - -// initDatabase 初始化数据库连接 -func initDatabase() { - // 检查是否配置了数据库 - dbConfig := config.GetConfigValue("database") - if dbConfig.IsEmpty() { - log.Warn("未配置数据库,跳过数据库初始化") - return - } - - log.Info("正在初始化数据库连接...") - defer func() { - if err := recover(); err != nil { - log.Error("数据库初始化失败:", err) - return - } - }() - - // 调用 database 包的 Database 函数进行初始化 - // 这会自动读取配置、创建连接池、设置日志器等 - db := database.Database() - if db == nil { - log.Error("数据库实例创建失败") - return - } - - log.Info("数据库连接初始化成功") -} diff --git a/server/server.go b/server/server.go index 468c069..72d5c33 100644 --- a/server/server.go +++ b/server/server.go @@ -12,6 +12,7 @@ import ( "time" "git.magicany.cc/black1552/gin-base/config" + "git.magicany.cc/black1552/gin-base/database" "git.magicany.cc/black1552/gin-base/log" "git.magicany.cc/black1552/gin-base/middleware" "github.com/gin-gonic/gin" @@ -29,6 +30,34 @@ func New() *gin.Engine { return g } +// initDatabase 初始化数据库连接 +func initDatabase() { + // 检查是否配置了数据库 + dbConfig := config.GetConfigValue("database") + if dbConfig.IsEmpty() { + log.Warn("未配置数据库,跳过数据库初始化") + return + } + + log.Info("正在初始化数据库连接...") + defer func() { + if err := recover(); err != nil { + log.Error("数据库初始化失败:", err) + return + } + }() + + // 调用 database 包的 Database 函数进行初始化 + // 这会自动读取配置、创建连接池、设置日志器等 + db := database.Database() + if db == nil { + log.Error("数据库实例创建失败") + return + } + + log.Info("数据库连接初始化成功") +} + // Run 启动服务 // @Param *gin.Engine 路由实例 // 设置监听挂壁 @@ -44,6 +73,7 @@ func Run(g *gin.Engine) { MaxHeaderBytes: 20 * 1024 * 1024, } go func() { + initDatabase() if err := s.ListenAndServe(); err != nil && !errors.Is(err, http.ErrServerClosed) { // 检查是否是端口被占用的错误 if strings.Contains(err.Error(), "address already in use") ||