fix: 设置 MySQL 连接时区为 Asia/Shanghai 确保前端时间显示东八区

This commit is contained in:
2026-06-26 15:48:40 +08:00
parent 4449059d7d
commit 7d717e30ce
+6 -1
View File
@@ -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)