Flyway在其文档中指出了可重复迁移的一些用法:
用法:(重新)创建视图/过程/函数/包/...
我想在可重复的迁移中创建一些触发器/函数,稍后在版本迁移中引用这些触发器/函数,它们将应用于表。
Flyway最后运行可重复的迁移,这意味着触发器在被引用时不会存在。
是否可以在版本化之前运行某些可重复的迁移?
是否不支持此用例,因为自动更新应用于表的触发器是不好的做法?
答案 0 :(得分:0)
我认为不可能首先调用重复的迁移脚本。但是您可以使用回调脚本来达到您的目的。阅读它here。
因此,您可以在迁移脚本目录中拥有一个名为beforeMigrate.sql
的脚本,并使用它来初始化您想要的内容。
虽然我不明白,为什么不在版本化迁移完成后重新创建触发器?如果你有像某些触发器这样的临时(短生命)对象,在我看来是正确的,将它们绑定到同一个脚本中的永久对象它们被声明 - 我的意思是在重复的迁移脚本中。