2016-02-13 121 views
0

我一直在寻找迁移方法从飞路1.x版本到3.x (即com.googlecode.flywayorg.flywaydb)处处,要提到的首先迁移到2.3版本,但没有在那里它被提及如何?有没有直接的方法去做,或者我必须从后端做些什么。升级飞路版本1.5至3.2

我的数据库中已经有数据,我不能删除数据库。 注:1.X迁飞到2.X的断裂变化为表schema_version

编辑

我已经升级我的飞行用的Maven依赖从1.5到3.1。它现在说schema_version没有一些由flyway本身作为参考的列。我浏览了docs和遍布的stackoverflow,发现flyway 3.1和1.5是不兼容的。在SO和文档中提到我们需要先升级到2.3,然后升级到3.1。但没有提到如何。因为只是添加了pom依赖关系,似乎并没有解决schema_version问题。

我也尝试添加2.3〜POM,开始我的基于Spring应用程序,但仍然失败迁飞抛出堆栈跟踪说,它不能找到一些列。

准确的错误是由flyway 1.5本身制作的schema_version表的'Where子句'中未知列'成功'。

请建议如何解决这一问题呢?

回答

1

正如你可以看到Release Notes

  • 与迁飞1.X元数据表格式兼容性丢弃。如果要从1.X升级,则必须先升级到2.3,然后再升级到3.0。

您必须升级到版本2.3。正如你可以在阅读Release Notes

迁飞2.1(2013年3月5日)

该版本修复了与元数据表的次要问题。首次运行时迁移是透明和自动的。
[...]

迁飞2.0.2(2012年11月22日)

此版本对所述元数据表细微修正。首次运行时迁移是透明和自动的。
[...]

迁飞2.0(2012年11月14日)

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

迁飞本身升级其架构。

参见: