gpt4 book ai didi

Flywaydb 用于迁移的多个配置文件失败

转载 作者:行者123 更新时间:2023-12-01 04:37:16 28 4
gpt4 key购买 nike

我们曾尝试在单个数据库中迁移一些 SQL 版本,并且进展顺利。何时尝试通过传递多个配置文件同时实现多个数据库的迁移失败。

问题是当在“-configFiles”参数中传递多个配置文件时,它只需要最后一个配置文件,并且只对最后一个配置文件中提到的数据库执行迁移。

下面是相同的截图,只花了flywayconfdb.conf文件并留下其他文件。

[oracle@localhost flyway-5.1.4]$ ./flyway -configFiles=/home/oracle/flyway/flyway-5.1.4/conf/flyway.conf,/home/oracle/flyway/flyway-5.1.4/conf/flywayjiradb.conf,/home/oracle/flyway/flyway-5.1.4/conf/flywayconfdb.conf info
Flyway Community Edition 5.1.4 by Boxfuse

Database: jdbc:oracle:thin:@//XXXXXXXXX:1521/confdb (Oracle 12.2)
Schema version: << Empty Schema >>

+----------+---------+-------------+------+--------------+-------+
| Category | Version | Description | Type | Installed On | State |
+----------+---------+-------------+------+--------------+-------+
| No migrations found |
+----------+---------+-------------+------+--------------+-------+

请帮助我们解决同样的问题。

最佳答案

Flyway 合并配置文件。它不会为每个人做单独的迁移。

对于每个配置文件,Flyway adds the content to a Properties map . Properties每个键只有一个值,因此如果相同的键出现在第二个配置文件中,它将覆盖先前的值。这就是为什么似乎只使用了最后一个配置文件中的设置。

它允许您在某处定义一些常用设置,例如在 ~/flyway.conf 中。 ,可以与一些更具体的设置合并,例如在个别项目中。

但它不允许您在一次运行中迁移多个数据库。您需要为每个数据库运行一次 Flyway:

./flyway -configFiles=/home/oracle/flyway/flyway-5.1.4/conf/flywayjiradb.conf info
./flyway -configFiles=/home/oracle/flyway/flyway-5.1.4/conf/flywayconfdb.conf info

该文档描述了 Overriding Order作为:
  • 命令行参数
  • 环境变量
  • 自定义配置文件
  • <current-dir>/flyway.conf
  • <user-home>/flyway.conf
  • <install-dir>/conf/flyway.conf
  • Flyway 命令行默认值

  • 将设置定义得更高,列表具有更高的优先级。

    文档给出了以下示例:

    The means that if for example flyway.url is both present in a config file and passed as -url= from the command-line, the command-line argument will take precedence and be used.



    自定义配置文件 (-configFiles) 行可以扩展为:
  • 命令行参数
  • 环境变量
  • 自定义配置文件 n
  • ...
  • 自定义配置文件 2
  • 自定义配置文件 1
  • <current-dir>/flyway.conf
  • <user-home>/flyway.conf
  • <install-dir>/conf/flyway.conf
  • Flyway 命令行默认值

  • 一个相应的例子可能是:

    The means that if for example flyway.url is both present in custom config file 1 and custom config file 2, the custom config file 2 settings will take precedence and be used.



    同样,如果 flyway.url也在 自定义配置文件 n 这将覆盖来自 的设置自定义配置文件 2 .

    关于Flywaydb 用于迁移的多个配置文件失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51519491/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com