我正在寻找以下案例的建议。
我在生产环境中设置了flyway和迁移脚本。在每次部署时,数据库都将迁移到当前版本。 我已经创建了几个已应用于高效数据库的迁移脚本。
最近我升级了我的开发MySQL工具,现在包含有关使用已弃用函数和其他警告的警告。这些警告未在旧版本中显示。 当然我想修复警告,特别是对于未来版本的数据库不再支持已弃用的函数的情况。 但是已经部署和使用了包含警告的迁移。如果我更改了其中一个脚本,则会出现一条飞路警告:
ERROR: Validate failed. Migration Checksum mismatch for migration 2.0
-> Applied to database : 1778293504
-> Resolved locally : 1831545539
我可以更改存储在数据库中的校验和以进行迁移,但这听起来不像是一个好的"这样做的方式。 在已经使用之后更改迁移脚本的常用方法/最佳做法是什么?
答案 0 :(得分:15)
第一条规则是不要。
第二个是非常小心,并使用Flyway.repair()将数据库中的校验和与磁盘上的校验和重新对齐。
答案 1 :(得分:0)
我完全同意您不应该这样做的事实。
但是,如果确实需要,可以更改飞行路线配置并将 validateOnMigrate 布尔值设置为false。
以下是链接:https://flywaydb.org/documentation/commandline/migrate#validateOnMigrate