【问题标题】:Start Flyway migration from specific version从特定版本开始 Flyway 迁移
【发布时间】:2019-05-04 18:35:20
【问题描述】:

我尝试使用 flyway 进行迁移。我找到了这个选项

spring.flyway.target= # 迁移应该达到的目标版本 可以考虑。

但我需要设置开始迁移的版本。例如我需要从V3_foo.sql开始迁移

我可以吗?

简要说明我为什么需要它。我有一个包含数据的数据库。以前没有使用过迁移工具。一切都是手动完成的。现在我创建了一个init.sql 并将整个基础结构的创建放入其中。现在,当添加更改时,我将从版本 2 开始迁移。如果您需要在新的空数据库上运行 - 从版本 1 开始

【问题讨论】:

    标签: spring spring-boot flyway


    【解决方案1】:

    Baseline 是您需要的 flyway 功能。

    如果您的情况,baseline 您的数据库与 flyway.baselineVersion=2 将告诉 flyway 您的数据库已经是版本 2。任何后续的 flyway migrate 将只处理大于 2 的迁移。

    注意:如果之前的迁移失败,可能需要先删除表flyway_schema_history

    【讨论】:

    • 是的,我已经阅读过它,但这个选项对我不起作用。 spring.flyway.locations=classpath:db/migration spring.flyway.baseline-version=2 spring.flyway.baseline-on-migrate=true - 我添加了这些配置。我有空的flyway_schema_history 表。当我启动服务器时出现错误 - Caused by: org.flywaydb.core.internal.sqlscript.FlywaySqlScriptException: Migration V1__Initial_version.sql failed
    • 我等待 flayway 跳过 V1 并开始从 V2 迁移。但它从 V1 开始
    • 在你的回答中写上flyway_schema_history 这个表是必要的,我会接受你的回答
    • @ip696 也许维修就可以完成这项工作...无论如何都会更新答案。
    猜你喜欢
    • 2015-06-18
    • 2018-04-06
    • 2020-01-17
    • 2018-02-28
    • 1970-01-01
    • 2019-04-28
    • 1970-01-01
    • 2016-09-12
    • 2013-12-26
    相关资源
    最近更新 更多