在使用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