我使用放置以下内容的.sh-script运行我的Liquibase:
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
当我将新的changelog路径作为参数传递给脚本时,Liquibase似乎会忽略此changelog.xml文件中的数据。
假设,我的文件夹结构如下:
folder1 +
|--- lib
|--- script.sh
|--- changelog +
|-- VERSION-1.0
|-- changelog.xml
folder2 +
|--- changelog.xml
当前目录是folder1。
我将通过一个新的变更日志,就像这样:
./script.sh ./../folder2/changelog.xml
然后Liquibase执行这个新的变更日志,可以,可以看到所做的更改和所有内容,但是当执行Liquibase更新或Liquibase回滚时,它什么也不做。我只是获得“ Liquibase更新成功”或“ Liquibase回滚成功”,但未应用任何变更集。