【发布时间】:2014-04-23 06:43:59
【问题描述】:
我想将 flyway 用于现有应用程序。
应该有两种不同的情况:
1) 应用安装:数据库的DDL和初始化
2) 应用更新:迁移数据库
问题是如果我安装了 6.0 版,例如:
V1_0_1__CreateShema (for 6.0.0) V1_0_2__InitData (for 6.0.0) .... V4_0_0__Update_DDL_and_DML V5_0_0__Update_DDL_and_DML V6_0_0__Update_DDL_and_DML
如果我将初始化版本设置为 V1.0.0,它将执行所有更新直到 V6_0_0,但它应该在数据库初始化后跳过所有更新。
要安装旧的 shema,以便我可以使用所有 udpate 脚本,即使是全新安装也会非常困难(没有数据库版本历史记录,所以我必须进行逆向工程)
我可以使用一种解决方法:
1) Check if version table exist 2) If not - migrate to version 1.0.2 3) drop the version table 4) init again with version 6.0.0
应该有更好的办法吧?
【问题讨论】:
标签: flyway