最佳实践:如何在使用后修改flyway迁移脚本

时间:2016-02-18 18:03:02

标签: flyway

我正在寻找以下案例的建议。

我在生产环境中设置了flyway和迁移脚本。在每次部署时,数据库都将迁移到当前版本。 我已经创建了几个已应用于高效数据库的迁移脚本。

最近我升级了我的开发MySQL工具,现在包含有关使用已弃用函数和其他警告的警告。这些警告未在旧版本中显示。 当然我想修复警告,特别是对于未来版本的数据库不再支持已弃用的函数的情况。 但是已经部署和使用了包含警告的迁移。如果我更改了其中一个脚本,则会出现一条飞路警告:

ERROR: Validate failed. Migration Checksum mismatch for migration 2.0
-> Applied to database : 1778293504
-> Resolved locally    : 1831545539

我可以更改存储在数据库中的校验和以进行迁移,但这听起来不像是一个好的"这样做的方式。 在已经使用之后更改迁移脚本的常用方法/最佳做法是什么?

2 个答案:

答案 0 :(得分:15)

第一条规则是不要。

第二个是非常小心,并使用Flyway.repair()将数据库中的校验和与磁盘上的校验和重新对齐。

答案 1 :(得分:0)

我完全同意您不应该这样做的事实。

但是,如果确实需要,可以更改飞行路线配置并将 validateOnMigrate 布尔值设置为false。

以下是链接:https://flywaydb.org/documentation/commandline/migrate#validateOnMigrate