使用flyway有效管理可重复的脚本

时间:2011-12-19 13:57:52

标签: flyway

db-maintain具有可重复脚本的概念,例如存储过程/触发器。当这样的脚本发生变化时,需要再次推出。 Flyway似乎总是检查文件名约定。因此,为了获得可重复的脚本,我们可能需要重命名该文件。有没有更有效的方法呢?

2 个答案:

答案 0 :(得分:3)

Flyway开始支持4.0版中的可重复迁移。每次校验和更改时都会重复应用可重复迁移,并且可以在版本控制中将其作为单个文件进行维护。

  

您有责任确保相同的可重复迁移   多次应用。这通常涉及使用CREATE   或者在您的DDL语句中替换条款。

更多详情here

答案 1 :(得分:2)

此问题出现在Issue Tracker和此other question

目前没有开箱即用的支持。

就我个人而言

  • 将可重复操作打包到存储过程或触发器中,并将其作为常规迁移的一部分添加到数据库中
  • 确保此过程/触发器在每次迁移后被调用一次(可能只是一行语句)
  • 确保在作为常规迁移的一部分发生之后,必须对过程/触发器进行更改

如果不这样做,请随时为Issue加注星标,并对您的用例详情发表评论。

更新:自Flyway 4.0起,现在完全支持可重复脚本。见https://flywaydb.org/documentation/migration/repeatable