feat: 梳理集群模式运行服务

This commit is contained in:
tbphp
2025-07-09 09:46:38 +08:00
parent 2126e30f21
commit 234731d826
9 changed files with 68 additions and 82 deletions

View File

@@ -2,7 +2,6 @@ package db
import (
"fmt"
"gpt-load/internal/models"
"gpt-load/internal/types"
"log"
"os"
@@ -21,15 +20,18 @@ func NewDB(configManager types.ConfigManager) (*gorm.DB, error) {
return nil, fmt.Errorf("DATABASE_DSN is not configured")
}
newLogger := logger.New(
log.New(os.Stdout, "\r\n", log.LstdFlags), // io writer
logger.Config{
SlowThreshold: time.Second, // Slow SQL threshold
LogLevel: logger.Info, // Log level
IgnoreRecordNotFoundError: true, // Ignore ErrRecordNotFound error for logger
Colorful: true, // Disable color
},
)
var newLogger logger.Interface
if configManager.GetLogConfig().Level == "debug" {
newLogger = logger.New(
log.New(os.Stdout, "\r\n", log.LstdFlags), // io writer
logger.Config{
SlowThreshold: time.Second, // Slow SQL threshold
LogLevel: logger.Info, // Log level
IgnoreRecordNotFoundError: true, // Ignore ErrRecordNotFound error for logger
Colorful: true, // Disable color
},
)
}
var err error
DB, err = gorm.Open(mysql.Open(dbConfig.DSN), &gorm.Config{
@@ -49,18 +51,6 @@ func NewDB(configManager types.ConfigManager) (*gorm.DB, error) {
sqlDB.SetMaxOpenConns(100)
sqlDB.SetConnMaxLifetime(time.Hour)
if dbConfig.AutoMigrate {
err = DB.AutoMigrate(
&models.SystemSetting{},
&models.Group{},
&models.APIKey{},
&models.RequestLog{},
)
if err != nil {
return nil, fmt.Errorf("failed to auto-migrate database: %w", err)
}
}
fmt.Println("Database connection initialized and models migrated.")
fmt.Println("Database connection initialized.")
return DB, nil
}