【问题标题】:Upgrade flyway version 1.5 to 3.2将 flyway 版本 1.5 升级到 3.2
【发布时间】:2016-05-24 20:49:41
【问题描述】:

我一直在寻找从 flyway 版本 1.x 到 3.x 的迁移方法 (即com.googlecode.flywayorg.flywaydb)到处都提到要首先迁移到2.3 版,但没有提到如何迁移?有没有直接的方法可以做到这一点,还是我必须从后端做一些事情。

我的数据库已经有数据,我无法删除数据库。 注意:Flyway 1.X 到 2.X 对表 schema_version 进行了重大更改。

编辑

我已将 flyway 的 maven 依赖项从 1.5 升级到 3.1。它现在说 schema_version 没有某些列由 flyway 本身制作以供自己参考。我浏览了文档和整个 stackoverflow,发现 flyway 3.1 和 1.5 不兼容。在 SO 和文档中提到,我们需要先升级到 2.3,然后再升级到 3.1。但没有提到如何。因为仅仅通过添加pom依赖,似乎并不能解决schema_version问题。

我还尝试将 2.3 添加到 pom 并启动基于 spring 的应用程序,但 Flyway 仍然无法抛出堆栈跟踪,说它找不到某些列。

确切的错误是flyway 1.5本身制作的schema_version表的'where子句'中的未知列'success'

请建议如何解决这个问题?

【问题讨论】:

    标签: flyway


    【解决方案1】:

    你可以在Release Notes看到:

    • 放弃了与 Flyway 1.X 元数据表格式的兼容性。如果您从 1.X 升级,则必须先升级到 2.3,然后再升级到 3.0。

    您必须升级到 2.3 版。正如您在Release Notes 中看到的那样:

    Flyway 2.1 (2013-03-05)

    此版本修复了元数据表的小问题。迁移在首次运行时是透明且自动的。
    [...]

    Flyway 2.0.2 (2012-11-22)

    此版本对元数据表进行了小幅修复。迁移在首次运行时是透明且自动的。
    [...]

    Flyway 2.0 (2012-11-14)

    此版本带有新的元数据表格式。迁移在首次运行时是透明且自动的。

    Flyway 会自行升级其架构。

    另见:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-03-22
      • 1970-01-01
      • 1970-01-01
      • 2016-07-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多