按 dbms 类型划分的 Liquibase 变更集

Arm*_*min 3 postgresql properties h2 changeset liquibase

如何对不同数据库的内容使用相同的更改集?

   <changeSet author="azare (generated)" id="some-data>
        <insert tableName="some-table">
            <column name="id" valueNumeric="1"/>
if h2
            <column name="some-column" value="h2-val"/>
if postgresql
           <column name="some-column" value="postgresql-val"/>
        </insert>
</changeSet>
Run Code Online (Sandbox Code Playgroud)

Arm*_*min 6

我找到了解决这个问题的方法:

<property name="val" dbms="postgresql" value="postgresql-val"/>
<property name="val" dbms="h2" value="h2-val"/>

   <changeSet author="azare (generated)" id="some-data">
        <insert tableName="some-table">
            <column name="id" valueNumeric="1"/>
            <column name="some-column" value="${val}"/>
        </insert>
   </changeSet>
Run Code Online (Sandbox Code Playgroud)