2016-06-16 8 views
0

LB 3.5を使用しています。以下は、マスターのchangelog、我々はこれらのチェンジセットを持っているのchangelog-v13.0.00.03.xmlで今ラベルや文脈でLiquibaseに問題があります

<databaseChangeLog 
     xmlns="http://www.liquibase.org/xml/ns/dbchangelog" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.5.xsd"> 


    <!-- v13.0.00 --> 
    <include context="v13_0_00_03" file="changelog-v13.0.00.03.xml" relativeToChangelogFile="true"/> 
    <include context="v13_0_00_04" file="changelog-v13.0.00.04.xml" relativeToChangelogFile="true"/> 

</databaseChangeLog> 

されています。私はSQLを見ることを期待として

<databaseChangeLog 
xmlns="http://www.liquibase.org/xml/ns/dbchangelog" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.5.xsd"> 

<changeSet id="CT-39_1" author="auth1" failOnError="false" runOnChange="false" labels="DDL"> 
    <sqlFile encoding="utf8" endDelimiter="\nGO" path="../scripts/ddl/ddl.sql" relativeToChangelogFile="true" /> 
</changeSet> 

<changeSet id="CT-2" author="auth2" runOnChange="false" labels="TRIGPROC"> 
    <preConditions onFail="CONTINUE"> 
     <changeSetExecuted id="CT-39_1" author="auth1" /> 
    </preConditions> 
    <sqlFile encoding="utf8" endDelimiter="\nGO" path="../scripts/trigprocs/sp_ins1.sql" relativeToChangelogFile="true"/> 
</changeSet> 

<changeSet id="CT-18" author="auth3" runOnChange="false" labels="TRIGPROC"> 
    <sqlFile encoding="utf8" endDelimiter="\nGO" path="../scripts/trigprocs/sp_ins2.sql" 
      relativeToChangelogFile="true"/> 
</changeSet> 

<changeSet id="CT-2228" author="auth4" runOnChange="false" labels="CONFIG"> 
    <sqlFile encoding="utf8" endDelimiter="\nGO" path="../scripts/config/insert_rec.sql" relativeToChangelogFile="true"/> 
</changeSet> 

次のコマンドを実行すると、正常に動作しますv13.0.00.03のファイルでCONFIGというラベルが付いています。

liquibase --contexts=v13_0_00_03 --labels=CONFIG updateSQL 

ただし、このコマンドは機能しません。

liquibase --contexts=v13_0_00_03 --labels="CONFIG, DDL" updateSQL 

これは、DDLではなくCONFIG用のSQLのみを生成します。私は "CONFIGまたはDDL"を試しましたが、運はありません。

changeSetsの 'labels'属性を 'context'に変更すると、LBは--contexts = "v13_0_00_03、CONFIG"を使用して何も生成しません。

これらのバグはありますか、ここで何か不足していますか?

答えて

0

私が考えることができる唯一の可能性は、DDLの変更が既に適用されていることです。 DDLのラベルがrunOnChange=falseとなっているチェンジセットがあるため、ファイルが変更されても再実行されません。

+0

私のすべてのchangeSetsはrunOnChange = falseに設定されていますが、これを実行する前にDATABASECHANGELOGのすべてのエントリを削除しました。私は、を持つマスターチェンジログがあるときにLBが混乱していると思うし、含まれているチェンジセットもラベルが付けられている – xbmono

関連する問題