Liquibase пытается выполнить исполняемые скрипты - PullRequest
0 голосов
/ 14 октября 2019

нам нужно переименовать файлы журнала изменений, которые уже выполняются liquibase, чтобы использовать относительный путь главного файла.

Когда мы изменили имена файлов в главном журнале изменений из этого

<include file="src/main/resources/db/changelogs/changelog-1.26.xml"/>` 

на

<include relativeToChangelogFile="true" file="db/changelogs/changelog-1.26.xml"/>

Из-за этого изменения Liquibase всегда пытается выполнить те же сценарии, которые были выполнены в прошлом.

Можете ли вы сказать мне, как решить эту проблему? Нам действительно нужно изменить этот путь, чтобы иметь возможность выполнять сценарии из области тестирования.

1 Ответ

0 голосов
/ 14 октября 2019

Без подробностей почти невозможно дать действительный совет. Однако Liquibase создает запись в таблице журнала изменений в вашей базе данных для каждого выполняемого «изменения». Он вычисляет контрольную сумму для каждого из них, состоящую из значений, которые имеют отношение к каждому изменению. Если вы когда-либо измените какое-либо из ваших изменений, вычисленная контрольная сумма больше не будет прежней и не будет соответствовать той, которая хранится в вашей базе данных, и Liquibase попытается выполнить «обновленное» изменение. Если вам удастся избежать внесения изменений в свои прежние наборы изменений в жидкой основе, я рекомендую этот подход. Однако, если вы должны внести изменения, вы можете использовать заданные предварительные условия , которые предотвратят вид описываемых вами ошибок.

...