数据结构优化
This commit is contained in:
@@ -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()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user