db-maintain 具有可重复脚本的概念,例如存储过程/触发器。当此类脚本发生更改时,需要再次推出。Flyway 似乎总是检查文件名约定。所以为了有一个可重复的脚本,我们可能需要重命名文件。有没有更有效的方法来做到这一点?
问问题
2210 次
2 回答
3
Flyway 在 4.0 版本中开始支持可重复迁移。每次校验和更改时都会重新应用可重复迁移,并且可以在版本控制中将其作为单个文件进行维护。
您有责任确保可以多次应用相同的可重复迁移。这通常涉及在 DDL 语句中使用 CREATE OR REPLACE 子句。
更多细节在这里。
于 2016-03-07T04:44:27.550 回答
2
目前对此没有开箱即用的支持。
我个人会
- 将可重复操作打包在存储过程或触发器中,并将其作为常规迁移的一部分添加到数据库中
- 确保在此之后每次迁移都会调用一次此过程/触发器(可能是单行语句)
- 确保在此之后对程序/触发器进行必要的更改,这也是常规迁移的一部分
如果还是不行,请随意给问题加注星标,并在评论中提供有关您的用例的详细信息。
更新:从 Flyway 4.0 开始,现在完全支持可重复的脚本。见https://flywaydb.org/documentation/migration/repeatable
于 2011-12-20T00:47:46.523 回答