修复迁移时,数据库未指定的情况下数据库脚本混乱的问题

This commit is contained in:
2025-12-06 22:03:57 +08:00
parent 6547e7bca8
commit b66f345281
7 changed files with 194 additions and 77 deletions

View File

@@ -789,8 +789,12 @@ func (f *Factory) RunMigrations(migrationsDir string) error {
return fmt.Errorf("failed to get database: %w", err)
}
// 创建迁移器
migrator := migration.NewMigrator(db)
// 创建迁移器(传入数据库类型,性能更好)
dbType := "mysql" // 默认值
if f.cfg.Database != nil && f.cfg.Database.Type != "" {
dbType = f.cfg.Database.Type
}
migrator := migration.NewMigratorWithType(db, dbType)
// 自动发现并加载迁移文件
migrations, err := migration.LoadMigrationsFromFiles(migrationsDir, "*.sql")
@@ -835,8 +839,12 @@ func (f *Factory) GetMigrationStatus(migrationsDir string) ([]migration.Migratio
return nil, fmt.Errorf("failed to get database: %w", err)
}
// 创建迁移器
migrator := migration.NewMigrator(db)
// 创建迁移器(传入数据库类型,性能更好)
dbType := "mysql" // 默认值
if f.cfg.Database != nil && f.cfg.Database.Type != "" {
dbType = f.cfg.Database.Type
}
migrator := migration.NewMigratorWithType(db, dbType)
// 加载迁移文件
migrations, err := migration.LoadMigrationsFromFiles(migrationsDir, "*.sql")