在使用Liquibase的运行时,是否有方法将属性替换作为参数传递?请分享一个例子?

在使用Liquibase的运行时,是否有方法将属性替换作为参数传递?请分享一个例子?,liquibase,Liquibase,我不希望使用设置以下变更集的架构名称的环境变量设置生成脚本: <createTable tableName="actor" schemaName="mySchema"> <column autoIncrement="true" name="id" type="INTEGER"> <constraints nullable="false" primaryKey="true" primaryKeyName="actor_pkey"

我不希望使用设置以下变更集的架构名称的环境变量设置生成脚本:

<createTable tableName="actor" schemaName="mySchema">
        <column autoIncrement="true" name="id" type="INTEGER">
            <constraints nullable="false" primaryKey="true" primaryKeyName="actor_pkey"/>
        </column>
        <column name="firstname" type="VARCHAR(255)"/>
        <column name="lastname" type="VARCHAR(255)"/>
        <column name="twitter" type="VARCHAR(15)"/>
    </createTable>


我从构建脚本中的命令行启动Liquibase。

要在不同的环境中传递参数,Liquibase使用属性替换。这需要对现有流程进行两次更改

第一种方法是用变量替换文字值:

我希望使用一个环境变量设置构建脚本,该环境变量设置以下变更集的架构名称(我们将使用下面架构的属性名称):

下面是输出的一个片段,它将显示模式已被lookup的值替换:

....
CREATE TABLE lookup.actor (id INTEGER GENERATED BY DEFAULT AS IDENTITY NOT NULL, firstname VARCHAR(255), lastname VARCHAR(255), twitter VARCHAR(15), CONSTRAINT actor_pkey PRIMARY KEY (id));
...
如果看起来没问题,您可以通过以下方式运行变更集:

liquibase --changeLogFile=“sample.xml” update -DSCHEMA=lookup

这太棒了。非常感谢。更改日志属性:-D=在更改日志中传递用于替换的名称/值对。/liquibase-4.1.1/liquibase \--logLevel=INFO\update \-DMyCustomThing=MyCustomValueThank。完整的例子。我不知道-D在“update”语句之后。在那辆车上浪费了一个小时。
....
CREATE TABLE lookup.actor (id INTEGER GENERATED BY DEFAULT AS IDENTITY NOT NULL, firstname VARCHAR(255), lastname VARCHAR(255), twitter VARCHAR(15), CONSTRAINT actor_pkey PRIMARY KEY (id));
...
liquibase --changeLogFile=“sample.xml” update -DSCHEMA=lookup