2016-02-18 55 views
6

我在寻找建议在下面的情况。最佳实践:如何修改flyway迁移脚本后使用

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

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

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

我可以改变存储在数据库中迁移的校验和,但这并不听起来像一个“好”的方式做到这一点。 在之后更改迁移脚本的常用方法/最佳实践是什么?

提前致谢!

Jens

回答

10

第一条规则是不要。

第二个是非常仔细地做,并使用Flyway.repair()重新调整DB中的校验和与磁盘上的校验和。

+1

好的,这就是我的预期:D 感谢您的时间和“修复()”的提示! – jdoose