2016-06-06 1 views
4

TeamCity 빌드 에이전트에서 간단한 Maven 프로젝트를 실행할 때 이상한 Liquibase 동작을 관찰하고 있습니다.Liquibase가 하나의 Maven 빌드에서 changeset를 여러 번 실행합니다.

Maven 프로젝트 구조 :

changelogs/ 
databaseChangeLog.xml 
pom.xml 

실행 명령 : MVN liquibase : 갱신

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 사진처럼 보입니다. 다른 위치에서 두 번 changeset를 ked : 에이전트의 빌드 폴더와 프로젝트의 루트를 빌드합니다.

아무도 같은 문제를 해결합니까? 이 문제를 해결하는 방법에 대한 아이디어가 있으십니까?

답변

5

Liquibase는 첫눈에 "동일한"변경 세트를 다르게 고려하여 디자인 결함을 가지고 있습니다. 이러한 특수성을 우회하려면 logicalFilePath 속성을 databaseChangeLog 태그 또는 모든 changeSet 태그에 사용할 수 있습니다. 이 기능을 사용하면 변경 사항 집합에 고유성을 추가 할 수 있습니다.

관련 문제