为什么maven liquibase:diff -DdiffExcludeObjects参数不起作用

时间:2016-08-01 19:12:51

标签: liquibase

我有一个使用liquibase进行数据库同步的项目。当我使用maven liquibase生成更改日志时,我想要排除一些名称以oauth_开头的数据库对象

我的maven目标是这样的

liquibase:diff -DdiffExcludeObjects="table:oauth_.*"

但是当我执行目标时,生成的更改日志包括以下变更集:

<changeSet author="aliakbarazizkhani (generated)" id="1470077228335-4">
    <dropTable tableName="oauth_access_token"/>
</changeSet>
<changeSet author="aliakbarazizkhani (generated)" id="1470077228335-5">
    <dropTable tableName="oauth_approvals"/>
</changeSet>
<changeSet author="aliakbarazizkhani (generated)" id="1470077228335-6">
    <dropTable tableName="oauth_client_details"/>
</changeSet>
<changeSet author="aliakbarazizkhani (generated)" id="1470077228335-7">
    <dropTable tableName="oauth_client_token"/>
</changeSet>
<changeSet author="aliakbarazizkhani (generated)" id="1470077228335-8">
    <dropTable tableName="oauth_code"/>
</changeSet>
<changeSet author="aliakbarazizkhani (generated)" id="1470077228335-9">
    <dropTable tableName="oauth_refresh_token"/>
</changeSet>

3 个答案:

答案 0 :(得分:0)

我认为问题可能只是财产的名称。文档表明该属性应为exludeObjects而不是diffExcludeObjects

答案 1 :(得分:0)

mvn liquibase:diff -Dliquibase.diffExcludeObjects = oauth _ *

答案 2 :(得分:0)

正确答案:

mvn liquibase:diff -Dliquibase.diffExcludeObjects="table:oauth_.*"

-Dliquibase.是参数前缀。

here中的更多参数