Flyway 自定义 MigrationResolver

Flyway custom MigrationResolver

提问人:KiKo 提问时间:10/30/2023 最后编辑:KiKo 更新时间:10/30/2023 访问量:29

问:

以前我使用的是flyway版本7.15.0,我创建了这样的MigrationResolver

public class ApplicationContextAwareMigrationResolver implements MigrationResolver {

  @Override
  public Collection<ResolvedMigration> resolveMigrations(Context context) {
    List<ResolvedMigration> migrations = new ArrayList<>();

    Map<String, JavaMigration> migrationBeans =
        this.applicationContext.getBeansOfType(JavaMigration.class);

    for (JavaMigration javaMigration : migrationBeans.values()) {
      ResolvedMigrationImpl resolvedMigration = new ResolvedJavaMigration(javaMigration);
      migrations.add(resolvedMigration);
    }

    migrations.sort(new ResolvedMigrationComparator());
    return migrations;
  }
}

升级到版本 9.22.3 后,import org.flywaydb.core.internal.resolver.java.ResolvedJavaMigration 中不存在 ResolvedJavaMigration;

来自文档:Java Migrations 接口上的“getResolvedMigration”方法现在采用 StatementInterceptor

我找不到如何在版本 9.22.3 中创建 ResolvedMigrationImpl 的解决方案。

我试过这样:

ResolvedMigration resolvedMigration = javaMigration.getResolvedMigration(new ClassicConfiguration(), StatementInterceptor)

我不知道如何创建 StatementInterceptor

java spring-boot 数据库迁移 飞行路线

评论


答: 暂无答案