2016-06-06 4 views
4

Я наблюдаю какое-то странное поведение Liquibase, когда я запускаю простой проект Maven на агенте сборки TeamCity.Liquibase выполняет ряд изменений несколько раз в одном сборке Maven

Maven структура проекта:

changelogs/ 
databaseChangeLog.xml 
pom.xml 

команда Run: МВН 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 pic дважды переустановить набор изменений из разных мест: из папки сборки сборщика и корня проекта.

Кто-нибудь встречает ту же проблему? Любые идеи, как это исправить?

ответ

5

Liquibase имеет своеобразный дефект дизайна, который лежит в основе рассмотрения на первый взгляд «идентичных» наборов изменений как разных. Чтобы обойти такую ​​особенность, вы можете использовать атрибут logicalFilePath либо на теге databaseChangeLog, либо на каждом теге changeSet. Это добавит еще один уровень идентичности, уникальность вашего набора изменений.

 Смежные вопросы

  • Нет связанных вопросов^_^