Liquibase maven 多模块

Liquibase maven multimodule

我正在尝试让 liquibase 生成基于 Hibernate 实体的变更集。 我们有一个多模块 Maven 项目,持久化对象分布在不同的模块周围。 当我 运行 mvn liquibase:generateChangeLog 时,它对每个模块执行,在生成的变更日志文件中一遍又一遍地重复相同的输出

我的建议是在一个单独的模块中从现有的 Maven 模块中管理数据库模式:

  1. 如果这些模块链接到同一个数据库,您别无选择,只有一个独特的架构和一个独特的 liquibase 管理
  2. 如果这些模块使用不同的架构,您可以有不同的 liquibase 更新日志。 schema不同代数会不同

埃里克

想出解决办法: 所以我们有一堆核心 maven 模块和一组为特定客户定制的模块。 最终客户模块是"top level"个模块,应用打包的时候,是针对具体的顶层客户模块打包的。

所以解决方案是将以下内容添加到除 "top level" 客户模块之外的所有模块

<build>
    <plugins>
        <plugin>
            <groupId>org.liquibase</groupId>
            <artifactId>liquibase-maven-plugin</artifactId>
            <version>3.9.0</version>
            <configuration>
                <skip>true</skip>
            </configuration>
        </plugin>
    </plugins>
</build>