【问题标题】:Flyway DataBase initialization or updateFlyway 数据库初始化或更新
【发布时间】: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


    【解决方案1】:

    我已经强调了这个问题:

    V1_0_1__CreateShema (适用于 6.0.0)
    V1_0_2__InitData (适用于 6.0.0)

    要升级到 6.0,您应该运行 V6_0_0__Update_DDL_and_DML 之前的所有脚本

    V1 应该是 V1 并且以后永远不会改变。

    【讨论】:

      猜你喜欢
      • 2021-06-15
      • 2015-06-13
      • 1970-01-01
      • 2019-01-30
      • 2016-04-18
      • 1970-01-01
      • 2013-12-26
      • 2014-05-16
      • 1970-01-01
      相关资源
      最近更新 更多