【问题标题】:Flyway support to re-run SQL file multiple times using placeholder paramsFlyway 支持使用占位符参数多次重新运行 SQL 文件
【发布时间】:2017-12-13 22:03:32
【问题描述】:

FlywayDB 是否支持脚本可以通过“占位符”使用不同的参数集多次重新运行并被视为单独版本或可重复迁移(尽管使用不同的 SQL 文件)的用例?我有一个要求,我们希望运行同一组脚本来根据“地区”(美国、英国、加利福尼亚等)组织数据

例如...

文件:

sql/V1__customer_info.sql
sql/V2__customer_address.sql

命令:

# Migrate US customers
mvn -Dflyway.placeholders.region_id=us flyway:migrate

# Migrate UK customers
mvn -Dflyway.placeholders.region_id=uk flyway:migrate

# Migrate Australian customers
mvn -Dflyway.placeholders.region_id=au flyway:migrate

【问题讨论】:

    标签: flyway


    【解决方案1】:

    简短的回答是不。我有几个想法,您可能想进一步探索:

    1. 在callback 特别是afterMigrate.sql 中实现它,然后按照您的示例调用。即使没有待应用的迁移,也会调用 afterMigrate。这是“扩展”回调功能,您将受到单个 sql 文件的限制,因此需要将信息和地址组合到一个文件中。 Java callbacks 更灵活,但我没有使用过。
    2. 将一个列表传递到占位符中,让您的数据库拆分并循环遍历它。这可以通过 Oracle 和 PLSQL 实现,但对于其他数据库或如果您需要支持多种数据库类型可能会很棘手。

    【讨论】:

      猜你喜欢
      • 2023-03-20
      • 2020-12-13
      • 2011-10-26
      • 1970-01-01
      • 2023-03-25
      • 2021-07-09
      • 2020-06-30
      • 2018-08-16
      • 2020-03-07
      相关资源
      最近更新 更多