gpt4 book ai didi

maven - Liquibase 在单个 Maven 构建中多次执行变更集

转载 作者:行者123 更新时间:2023-12-05 00:55:41 25 4
gpt4 key购买 nike

当我在 TeamCity 构建代理上运行简单的 Maven 项目时,我观察到一些奇怪的 Liquibase 行为。

Maven项目结构:

changelogs/
databaseChangeLog.xml
pom.xml

运行命令:mvn liquibase:update

databaseChangeLogs.xml 包含下一行: <includeAll path="changelogs/"/>
但是构建日志包含重复记录:
liquibase: databaseChangeLog.xml: /home/teamcity/BuildAgent/work/28fe713da351c06d/changelogs/1.xml: ChangeSet /home/teamcity/BuildAgent/work/28fe713da351c06d/changelogs/1.xml ran successfully in 40ms

liquibase: databaseChangeLog.xml: Custom SQL executed
liquibase: databaseChangeLog.xml: changelogs/1.xml: ChangeSet changelogs/1.xml ran successfully in 36ms

因此,Liquibase 似乎从不同位置两次获取变更集:从构建代理的构建文件夹和项目的根目录。

有人遇到同样的问题吗?
任何想法如何解决这一问题?

最佳答案

Liquibase 有一个设计缺陷,乍一看我们认为“相同”的更改集是不同的。要绕过这种特殊性,您可以使用 logicalFilePath属性要么位于 databaseChangeLog标签或在每个 changeSet标签。这将为您的变更集添加另一个级别的身份、唯一性。

关于maven - Liquibase 在单个 Maven 构建中多次执行变更集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37655830/

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