数据结构优化

This commit is contained in:
李琦
2026-01-19 13:53:32 +08:00
parent e6edf7210b
commit 3443c10c92
38 changed files with 1556 additions and 2153 deletions

View File

@@ -1,15 +1,16 @@
package config
import (
"database/sql"
"fmt"
"log"
"os"
_ "github.com/go-sql-driver/mysql"
"gorm.io/driver/mysql"
"gorm.io/gorm"
"gorm.io/gorm/logger"
)
var DB *sql.DB
var DB *gorm.DB
// JWTSecret is the secret key used for signing JWT tokens
var JWTSecret = "your-secret-key-change-this-in-production" // Default value
@@ -28,12 +29,20 @@ func InitDB() {
JWTSecret = secret
}
DB, err = sql.Open("mysql", dsn)
DB, err = gorm.Open(mysql.Open(dsn), &gorm.Config{
Logger: logger.Default.LogMode(logger.Silent), // 禁用 GORM 日志,使用自定义日志
// 不使用 NowFunc,因为我们使用模型钩子手动处理 int64 时间戳
})
if err != nil {
log.Fatal("Failed to connect to database:", err)
}
if err = DB.Ping(); err != nil {
sqlDB, err := DB.DB()
if err != nil {
log.Fatal("Failed to get underlying sql.DB:", err)
}
if err = sqlDB.Ping(); err != nil {
log.Fatal("Failed to ping database:", err)
}
@@ -42,6 +51,9 @@ func InitDB() {
func CloseDB() {
if DB != nil {
DB.Close()
sqlDB, err := DB.DB()
if err == nil {
sqlDB.Close()
}
}
}