New
This commit is contained in:
36
internal/db/migrations/migrations.go
Normal file
36
internal/db/migrations/migrations.go
Normal file
@@ -0,0 +1,36 @@
|
||||
// Filename: internal/db/migrations/migrations.go (全新)
|
||||
package migrations
|
||||
|
||||
import (
|
||||
"gemini-balancer/internal/models"
|
||||
|
||||
"github.com/sirupsen/logrus"
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
// RunMigrations 负责执行所有的数据库模式迁移。
|
||||
func RunMigrations(db *gorm.DB, logger *logrus.Logger) error {
|
||||
log := logger.WithField("component", "migrations")
|
||||
log.Info("Running database schema migrations...")
|
||||
// 集中管理所有需要被创建或更新的表。
|
||||
err := db.AutoMigrate(
|
||||
&models.UpstreamEndpoint{},
|
||||
&models.ProxyConfig{},
|
||||
&models.APIKey{},
|
||||
&models.KeyGroup{},
|
||||
&models.GroupModelMapping{},
|
||||
&models.AuthToken{},
|
||||
&models.RequestLog{},
|
||||
&models.StatsHourly{},
|
||||
&models.FileRecord{},
|
||||
&models.Setting{},
|
||||
&models.GroupSettings{},
|
||||
&models.GroupAPIKeyMapping{},
|
||||
)
|
||||
if err != nil {
|
||||
log.Errorf("Database schema migration failed: %v", err)
|
||||
return err
|
||||
}
|
||||
log.Info("Database schema migrations completed successfully.")
|
||||
return nil
|
||||
}
|
||||
Reference in New Issue
Block a user