【问题标题】:Deploying to multiple schemas using Flyway使用 Flyway 部署到多个模式
【发布时间】:2020-12-17 17:15:22
【问题描述】:

我有一个关于 Flyway 和管理多个架构的问题。我有多个架构(架构 1、架构 2、架构 3),具有不同的部署计划和不同的文件夹位置(sql/架构 1、sql/架构 2、sql/架构3)和不同的代码。

我想在代码部署之前使用 Flyway 创建架构,但如何在单个配置文件中进行设置?我阅读了 Flyway 文档 (https://flywaydb.org/documentation/faq#multiple-schemas),但该示例是否使用单个配置文件?还是我需要创建多个配置文件(每个架构一个)?

我可以实现相同的设置逗号分隔的架构列表吗?将“Schema1”仅查看“sql/Schema1”位置吗?我真的不希望 Schema1 从不同的文件夹中提取代码,即 sql/Schema2 等。

提前致谢!

【问题讨论】:

    标签: schema flyway


    【解决方案1】:

    当使用 Flyway 与多个架构时,您需要在 sql 语句中明确说明 sql 将更改哪个架构。您可以通过在每个迁移文件的顶部放置一个ALTER SESSION SET CURRENT_SCHEMA=schema1 来做到这一点,或者在您的所有语句前面加上CREATE TABLE schema1.bananas 之类的前缀。 如果这不切实际,最好创建多个配置文件,每个配置文件都指定一个模式,并指定一个位置。例如

    flyway.schemas=schema1
    flyway.locations=filesystem:sql/schema1
    

    然后您可以使用每个配置文件单独运行 Flyway 以迁移该特定架构。

    【讨论】:

      猜你喜欢
      • 2015-02-17
      • 2013-03-06
      • 2017-12-11
      • 2022-06-16
      • 2012-12-25
      • 2016-12-07
      • 2021-12-02
      • 2014-05-28
      • 1970-01-01
      相关资源
      最近更新 更多