use*_*077 3 parameter-passing liquibase
我正在使用Liquibase,并希望以两种不同的变体(生产和测试)执行相同的脚本:
<changeSet author="..." id="...">
<insert tableName="...">
<column name="ACTIVE" value="${isActive}" />
</insert>
</changeset>
Run Code Online (Sandbox Code Playgroud)
目前,我使用一个属性来控制它在两个文件中:
<!--File1: For production -->
<property name="isActive" value="true"/>
<!--File2: For tests-->
<property name="isActive" value="false"/>
Run Code Online (Sandbox Code Playgroud)
有没有办法使用类似配置文件(如在Maven中)或在Liquibase中使用命令行参数?我想避免处理两个不同的文件,一个用于生产,一个用于测试系统.
您可以context为property或changeSet本身指定参数:
<property name="isActive" value="true" context="prod"/>
<property name="isActive" value="false" context="test"/>
Run Code Online (Sandbox Code Playgroud)
然后以某种方式将context参数传递给liquibase:
mvn liquibase:migrate -Dliquibase.contexts=prod
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2604 次 |
| 最近记录: |