【问题标题】:Flyway: How to run certain repeatable migrations before versioned ones?Flyway:如何在版本化迁移之前运行某些可重复的迁移?
【发布时间】:2017-08-05 02:55:51
【问题描述】:

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

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

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

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

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

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

【问题讨论】:

    标签: database flyway


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2016-09-12
      • 2020-05-13
      • 2011-11-05
      • 1970-01-01
      • 2017-08-13
      • 2012-07-23
      • 2020-08-17
      • 2016-06-22
      • 2016-12-12
      相关资源
      最近更新 更多