我一直在寻找从flyway 1.x版到3.x版的迁移方法
(即com.googlecode.flyway
到org.flywaydb
)在任何地方都提到首先迁移到版本2.3,但没有提到它如何?有没有直接的方法来做,或者我必须从后端做一些事情。
我的数据库已有数据,我无法删除数据库。
注意:Flyway 1.X到2.X对表schema_version
进行了重大更改。
修改
我已将flyway的maven依赖从1.5升级到3.1。它现在说schema_version没有一些由flyway本身制作的列供自己参考。我浏览了docs和遍历stackoverflow,发现flyway 3.1和1.5不兼容。在SO和docs上提到我们需要首先升级到2.3然后升级到3.1。但没有提到它的方式。因为只是通过添加pom依赖,它似乎不能解决schema_version问题。
我也尝试将2.3添加到pom并开始我的基于Spring的应用程序但仍然Flyway失败投掷stacktrace说它找不到一些列。
确切错误未知列'成功'在flyway 1.5本身制作的schema_version表的' where子句' 中。
请建议如何解决此问题?
答案 0 :(得分: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自行升级其架构。
另见: