Liquibase maven 多模块
Liquibase maven multimodule
我正在尝试让 liquibase 生成基于 Hibernate 实体的变更集。
我们有一个多模块 Maven 项目,持久化对象分布在不同的模块周围。
当我 运行 mvn liquibase:generateChangeLog 时,它对每个模块执行,在生成的变更日志文件中一遍又一遍地重复相同的输出
我的建议是在一个单独的模块中从现有的 Maven 模块中管理数据库模式:
- 如果这些模块链接到同一个数据库,您别无选择,只有一个独特的架构和一个独特的 liquibase 管理
- 如果这些模块使用不同的架构,您可以有不同的 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>
我正在尝试让 liquibase 生成基于 Hibernate 实体的变更集。 我们有一个多模块 Maven 项目,持久化对象分布在不同的模块周围。 当我 运行 mvn liquibase:generateChangeLog 时,它对每个模块执行,在生成的变更日志文件中一遍又一遍地重复相同的输出
我的建议是在一个单独的模块中从现有的 Maven 模块中管理数据库模式:
- 如果这些模块链接到同一个数据库,您别无选择,只有一个独特的架构和一个独特的 liquibase 管理
- 如果这些模块使用不同的架构,您可以有不同的 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>