From 7d717e30ce16a534fd78fbd9b1c9114743204e4e Mon Sep 17 00:00:00 2001 From: wonder Date: Fri, 26 Jun 2026 15:48:40 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=AE=BE=E7=BD=AE=20MySQL=20=E8=BF=9E?= =?UTF-8?q?=E6=8E=A5=E6=97=B6=E5=8C=BA=E4=B8=BA=20Asia/Shanghai=20?= =?UTF-8?q?=E7=A1=AE=E4=BF=9D=E5=89=8D=E7=AB=AF=E6=97=B6=E9=97=B4=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E4=B8=9C=E5=85=AB=E5=8C=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/db/db.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/internal/db/db.go b/internal/db/db.go index 9f1f298..9587931 100644 --- a/internal/db/db.go +++ b/internal/db/db.go @@ -13,7 +13,7 @@ import ( var DB *sql.DB func Init(cfg *config.Config) error { - dsn := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8mb4&parseTime=true&loc=Local", + dsn := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8mb4&parseTime=true&loc=Asia%%2FShanghai", cfg.DBUser, cfg.DBPassword, cfg.DBHost, cfg.DBPort, cfg.DBName) var err error @@ -26,6 +26,11 @@ func Init(cfg *config.Config) error { return fmt.Errorf("failed to ping database: %w", err) } + // 确保 MySQL session 时区为 UTC+8 + if _, err = DB.Exec("SET time_zone = '+08:00'"); err != nil { + log.Printf("Warning: failed to set MySQL time_zone to +08:00: %v", err) + } + DB.SetMaxOpenConns(25) DB.SetMaxIdleConns(5)