Я запускаю свою Liquibase, используя .sh-скрипт, где размещено следующее:
java -jar ./lib/liquibase.jar --driver=${DB_DRIVER} --classpath=${DB_CLASSPATH} --changeLogFile=${DB_CHANGELOG_PATH} --url=jdbc:postgresql://${DB_SERVER}:${DB_PORT}/${DB_INSTANCE} --username=${DB_USER} --password=${DB_USER_PW} --logLevel=info --contexts=test update
Когда я передаю новый путь журнала изменений в качестве параметра в сценарий, Liquibase, похоже, игнорирует данные внутри этого файла changelog.xml.
Предположим, моя структура папок следующая:
folder1 +
|--- lib
|--- script.sh
|--- changelog +
|-- VERSION-1.0
|-- changelog.xml
folder2 +
|--- changelog.xml
А текущим каталогом является папка 1.
Я передам новый журнал изменений, скажем так:
./script.sh ./../folder2/changelog.xml
И Liquibase выполняет этот новый журнал изменений, все в порядке, он видит изменения и все такое, но когда выполняется обновление Liquibase или откат Liquibase, он ничего не делает. Я просто получаю «Успешное обновление Liquibase» или «Успешный откат Liquibase», но изменения не применяются.