From 36426dcf2e07f91172a698827cfc2b3ce9dc8cfa Mon Sep 17 00:00:00 2001 From: maguodong Date: Wed, 8 Apr 2026 10:08:47 +0800 Subject: [PATCH] =?UTF-8?q?refactor(database):=20=E5=B0=86=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=BA=93=E5=88=9D=E5=A7=8B=E5=8C=96=E9=80=BB=E8=BE=91?= =?UTF-8?q?=E4=BB=8Emain=E5=87=BD=E6=95=B0=E7=A7=BB=E8=87=B3server?= =?UTF-8?q?=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 从main.go中删除数据库相关导入和初始化代码 - 在server.go中添加数据库包导入 - 将initDatabase函数从main.go迁移至server.go - 在server的Run函数中调用数据库初始化逻辑 - 保持原有的数据库连接检查和错误处理机制 --- main.go | 32 -------------------------------- server/server.go | 30 ++++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 32 deletions(-) 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") ||