ybo*_*dar 4 teamcity liquibase maven
当我在TeamCity构建代理上运行简单的Maven项目时,我正在观察一些奇怪的Liquibase行为.
Maven项目结构:
changelogs/
databaseChangeLog.xml
pom.xml
Run Code Online (Sandbox Code Playgroud)
运行命令: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
Run Code Online (Sandbox Code Playgroud)
因此,Liquibase似乎从不同的位置选择了两次变更集:来自构建代理程序的构建文件夹和项目的根目录.
有人遇到同样的问题吗?任何想法如何解决这一问题?
Liquibase有点设计缺陷,乍看之下"相同"的变更设置与众不同.要绕过这样的特性,您可以logicalFilePath在databaseChangeLog标签或每个changeSet标签上使用属性.这个将为您的更改集添加另一级别的标识,唯一性.
| 归档时间: |
|
| 查看次数: |
550 次 |
| 最近记录: |