Liquibase Maven&命令行工作方式不同

时间:2015-04-29 03:47:54

标签: database maven liquibase

我有一些changeLogs,当我从liquibase命令行脚本多次从命令行运行它们时,它工作得很好。

每当我运行liquibase:update时,在同一个ChangeLog上运行它并且不会引发任何警告

[www-data@ajeets database]$ liquibase --changeLogFile=changelog/changelog-install.xml update;
Liquibase Update Successful
[www-data@ajeets database]$ liquibase --changeLogFile=changelog/changelog-install.xml update;
Liquibase Update Successful
[www-data@ajeets database]$ liquibase --changeLogFile=changelog/changelog-install.xml update;
Liquibase Update Successful
[www-data@ajeets database]$ 

但是当我使用maven设置运行相同时,它会在我第二次运行时抛出错误,这似乎是正确的,但为什么不同的行为也可能在Maven中实际具有相同的行为,因为它在命令中行,每次都显示更新。

INFO 4/29/15 1:45 PM: liquibase: Executing: /home/www-data/workspace/database/src/main/resource/com/obolus/database/changelog/changelog-install.xml despite precondition failure due to onFail='WARN':
 Not executing changes in v000/master.xml
INFO 4/29/15 1:45 PM: liquibase: Successfully released change log lock.

这个警告是正确的,但只有命令行liquibase脚本永远不会报告,当我使用mvn和mvn liquibase:第二次更新时,我得到了这个。

1 个答案:

答案 0 :(得分:0)

好吧,可能我自己得到了回答。

[www-data@ajeets resource]$ liquibase --changeLogFile=changelog-install.xml --logLevel=info update
INFO 4/29/15 3:22 PM: liquibase: Successfully acquired change log lock
INFO 4/29/15 3:22 PM: liquibase: Reading from LB_TEST.DATABASECHANGELOG
INFO 4/29/15 3:22 PM: liquibase: Executing: changelog-install.xml despite precondition failure due to onFail='WARN':
 Not executing changes in v000/master.xml
INFO 4/29/15 3:22 PM: liquibase: Successfully released change log lock
Liquibase Update Successful

它现在也在命令行中显示警告。这是logLevel的诀窍所以我相信命令行默认情况下logLeve被设置为" off"或者"严重",但唯一的问题是我在属性文件中的maven中有相同的logLevel,并且在命令行中使用了相同的属性文件,但它没有被拾取。

好的,我可以忍受它。