【问题标题】:Rollback changes from a particular flyway version从特定 flyway 版本回滚更改
【发布时间】:2019-02-14 21:52:22
【问题描述】:

我在 flyway 中添加了一些更改,比如说在 20 版中

更改表 xyz 添加列 abc TINYINT(1);

现在,经过几次数据库迁移,我们决定不再需要列“abc”,当前的 flyway 版本是 35。

所以,现在我可以看两个选项,也请建议更好的一个,如果存在任何其他替代方案:

  1. 创建一个新版本 36,其中删除了列,这将起作用,但会创建“垃圾”文件
  2. 删除版本 20 的文件(不确定它是否会破坏一些东西,尤其是在生产中)

【问题讨论】:

  • Flyway 使用了两种类型的迁移策略:版本化迁移有版本、描述和校验和。版本必须是唯一的。它们仅按顺序应用一次。 可重复迁移有描述和校验和,但没有版本。它们不是只运行一次,而是在每次校验和更改时(重新)应用。因为,我们使用的是版本化方法,所以我坚持使用第 1 步。保持问题开放以获得更好的选择

标签: git flyway


【解决方案1】:

创建删除列的新版本 36。

【讨论】:

    猜你喜欢
    • 2019-05-04
    • 2015-06-18
    • 2017-10-22
    • 2020-03-16
    • 1970-01-01
    • 2018-04-06
    • 2018-02-27
    • 1970-01-01
    • 2013-12-26
    相关资源
    最近更新 更多