fix: 设置 MySQL 连接时区为 Asia/Shanghai 确保前端时间显示东八区
This commit is contained in:
+6
-1
@@ -13,7 +13,7 @@ import (
|
|||||||
var DB *sql.DB
|
var DB *sql.DB
|
||||||
|
|
||||||
func Init(cfg *config.Config) error {
|
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)
|
cfg.DBUser, cfg.DBPassword, cfg.DBHost, cfg.DBPort, cfg.DBName)
|
||||||
|
|
||||||
var err error
|
var err error
|
||||||
@@ -26,6 +26,11 @@ func Init(cfg *config.Config) error {
|
|||||||
return fmt.Errorf("failed to ping database: %w", err)
|
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.SetMaxOpenConns(25)
|
||||||
DB.SetMaxIdleConns(5)
|
DB.SetMaxIdleConns(5)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user