fix: 设置 MySQL 连接时区为 Asia/Shanghai 确保前端时间显示东八区
This commit is contained in:
+6
-1
@@ -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)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user