Flyway - 迁移到特定版本

Posted

技术标签:

【中文标题】Flyway - 迁移到特定版本【英文标题】:Flyway - Migrate to specific version 【发布时间】:2015-06-18 19:35:20 【问题描述】:

有没有办法告诉 flyway 只迁移到特定版本?例如我有 4 个版本,例如V1V2V3V4 脚本,我只想迁移到V3,而不是v4。

【问题讨论】:

【参考方案1】:

迁移任务有一个“目标”属性,可让您指定。

target - Flyway 应考虑的目标版本 迁移。具有更高版本号的迁移将被忽略。 特殊值 current 表示当前版本的 架构。

命令行文档:https://flywaydb.org/documentation/usage/commandline/migrate

maven 示例

mvn -Dflyway.target=5.1 flyway:migrate 

【讨论】:

如果您在答案中添加使用示例会很好。 mvn -Dflyway.target=5.1 flyway:migrate 链接失效了,新的:flywaydb.org/documentation/usage/commandline/migrate【参考方案2】:

如果您使用 flyway 命令行并且只想迁移到 V3,您应该执行以下操作:

flyway -configFiles=myconf.conf -target=3 migrate

【讨论】:

【参考方案3】:

如果您想测试迁移,可以使用 Java API:

@Test
public void test() 
    final FluentConfiguration fluentConfiguration = Flyway.configure()
            .dataSource(dataSource);
    fluentConfiguration.target("3") // stable version
            .load()
            .migrate();
    // ... your SQL injection queries 
    fluentConfiguration
            .target("latest") // remaining versions you need to test
            .load()
            .migrate();
    // ... your SQL select checks

【讨论】:

以上是关于Flyway - 迁移到特定版本的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 flyway 跳过特定的迁移?

从版本 3 更新到 4 时,Flyway 更新不会迁移 schema_version 表

重试flyway失败的迁移

Flyway 可重复迁移 - 在版本化迁移之前执行?

将 flyway 版本 1.5 升级到 3.2

Flyway - Flyway 架构迁移失败