Flyway 3.1 数据库迁移多个模式 - Oracle 11g

Posted

技术标签:

【中文标题】Flyway 3.1 数据库迁移多个模式 - Oracle 11g【英文标题】:Flyway 3.1 DB migration Multiple schemas - Oracle 11g 【发布时间】:2015-05-04 21:01:31 【问题描述】:

目前,我们能够在 oracle 11g 上一次在一个模式中部署数据库脚本(ddl、dml、视图/包)。

(1) 是否可以在一个功能发布部署中同时在多个模式中部署数据库脚本(每个模式都有自己的数据库用户和数据库密码)。

(这是最常用的需求)

在flyway 3.1中出现,flyway.properties一次支持1个登录数据库用户和数据库密码,

功能:新的下拉菜单 架构:架构 A、架构 B、架构 C (每个模式都有自己的 Db 用户和密码,但是所有 3 个模式的 JDBC url 都是相同的。它们都驻留在 oracle 11g 数据库中)

有没有人遇到过这样的问题,有什么flyway推荐的解决方案或建议,

文件夹:/sql 脚本: : v1__Deploy_schema1.sql v1__Deploy_schema2.sql v1__Deploy_schema3.sql

【问题讨论】:

【参考方案1】:

我所做的是为每个模式创建一个单独的flyway/sql目录,然后为每个模式创建一个同时执行flyway migrate命令的脚本。

【讨论】:

您是否还为每个架构创建了单独的 flyway.properties 文件,因为每个架构的 flyway.user 和 flyway.password 可能不同? 其实我每个schema都有完整的flyway安装,包括flyway.properties所在的conf文件夹。 您可以使用 为您处理此问题,并将您的配置置于每次执行之下。然后你有不同的用户,甚至可以为每个用户有不同的迁移文件。

以上是关于Flyway 3.1 数据库迁移多个模式 - Oracle 11g的主要内容,如果未能解决你的问题,请参考以下文章

多个实例指向同一模式的 Flyway 迁移

使用 Flyway 和 Spring Boot 迁移具有不同生命周期的多个模式

Flyway 一个模式中的多个元数据表

Flyway:如何支持清理具有相同生命周期的多个模式?

使用 Flyway 在多个模式上运行 SQL 脚本

使用 Maven + Flyway 迁移/清理/等多个数据库