Flyway:如何在版本化之前运行某些可重复的迁移?

时间:2017-03-14 16:36:03

标签: database flyway

Flyway在其文档中指出了可重复迁移的一些用法:

  

用法:(重新)创建视图/过程/函数/包/...

我想在可重复的迁移中创建一些触发器/函数,稍后在版本迁移中引用这些触发器/函数,它们将应用于表。

Flyway最后运行可重复的迁移,这意味着触发器在被引用时不会存在。

是否可以在版本化之前运行某些可重复的迁移?

是否不支持此用例,因为自动更新应用于表的触发器是不好的做法?

1 个答案:

答案 0 :(得分:0)

我认为不可能首先调用重复的迁移脚本。但是您可以使用回调脚本来达到您的目的。阅读它here

因此,您可以在迁移脚本目录中拥有一个名为beforeMigrate.sql的脚本,并使用它来初始化您想要的内容。

虽然我不明白,为什么不在版本化迁移完成后重新创建触发器?如果你有像某些触发器这样的临时(短生命)对象,在我看来是正确的,将它们绑定到同一个脚本中的永久对象它们被声明 - 我的意思是在重复的迁移脚本中。