【发布时间】:2021-02-25 13:32:59
【问题描述】:
我们公司的一些团队目前正在“升级”一些旧项目以使用 Flyway。一个问题是存在多个安装已经可用的数据库对象(基线)。
我们目前有(将来肯定还会有更多)一个用例,我们必须在其中创建一些新的迁移脚本,但它们只应在满足有关数据库当前状态的某些条件时运行。
例如:运行此脚本,但前提是数据库中的表 X 包含数据 Y
我已经看过Flyway conditional db migration,但对我来说这似乎不是正确的解决方案,因为条件不仅仅是一些静态环境。是否应执行迁移的条件应取决于数据库的当前活动状态。
我自己对 Flyway 的经验并不多,但对 Liquibase 的经验更多。在那里我会像这样实现它:
<preConditions onFail="WARN">
<sqlCheck expectedResult="0">select count(*) from oldtable</sqlCheck>
</preConditions>
Flyway 中是否有等价物?
【问题讨论】:
标签: flyway