【发布时间】:2015-06-18 19:35:20
【问题描述】:
有没有办法告诉 flyway 只迁移到特定版本?例如我有 4 个版本,例如V1、V2、V3和V4 脚本,我只想迁移到V3,而不是v4。
【问题讨论】:
有没有办法告诉 flyway 只迁移到特定版本?例如我有 4 个版本,例如V1、V2、V3和V4 脚本,我只想迁移到V3,而不是v4。
【问题讨论】:
迁移任务有一个“目标”属性,可让您指定。
target - Flyway 应考虑的目标版本 迁移。具有更高版本号的迁移将被忽略。 特殊值 current 表示当前版本的 架构。
命令行文档:https://flywaydb.org/documentation/usage/commandline/migrate
maven 示例
mvn -Dflyway.target=5.1 flyway:migrate
【讨论】:
如果您使用 flyway 命令行并且只想迁移到 V3,您应该执行以下操作:
flyway -configFiles=myconf.conf -target=3 migrate
【讨论】:
如果您想测试迁移,可以使用 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
}
【讨论】: