【问题标题】:Can I load flyway migration from a jar / multiple schemas我可以从 jar / 多个模式加载 flyway 迁移吗
【发布时间】:2012-12-20 02:36:19
【问题描述】:

我正在尝试 flyway,但在类路径和 JAR 方面存在理解问题。

我有一个项目,在多个 Maven 模块中包含多个服务。我希望每个服务都使用 flyway 维护其架构。因此,每个服务都是一个具有自己的资源目录的 maven 模块,我可以在其中放置 SQL 脚本,这将成为 JAR 的一部分。 现在,该服务可以在嵌入式模式下运行,其中多个服务 JAR 存在于最终用户应用程序(例如 tomcat)中。

在服务初始化时,我会使用每个服务的数据源运行 flyway migrate。如果我使用 java 迁移,我可以将 java 类与 impls 保存在同一个包中并按位置分开,但如果我使用 SQL 迁移,我会得到这样的东西:

src/main/resources/db/migration/V1_1__Populate_table.sql

在每个模块中。现在的问题:

  • flyway 可以从 jar 中执行 sql 脚本吗?
  • 如果是,我可以指定要执行的 jar 吗?

【问题讨论】:

    标签: java sql flyway


    【解决方案1】:

    如果 JAR 是类路径的一部分,则将选择迁移。

    在您的情况下,您应该为每个模块使用一个 Flyway 实例。然后为该实例配置其自己的 SQL 迁移位置,以便仅选取相关文件。

    例如:flyway.locations=db/migration/mymodule

    也没有什么可以阻止将 SQL 迁移与该模块的 java 类放在同一个包中。

    【讨论】:

      猜你喜欢
      • 2018-08-28
      • 2016-06-05
      • 2015-02-17
      • 2016-10-24
      • 2018-01-22
      • 2017-11-14
      • 2015-05-04
      • 2017-08-14
      • 2018-12-28
      相关资源
      最近更新 更多