Liquibase中的上下文,可以在除一个上下文之外的任何上下文中运行

时间:2018-09-14 09:16:58

标签: liquibase

让我说我的背景设为“发展”

应用程序使用的其他两个上下文是“生产”和“测试”

我有两个变更集:

<changeSet id="test-1" author="dbadmin" context="!development">
    <sql>
        CREATE TABLE test_table_1 (
        ID int
        );
    </sql>
</changeSet>

<changeSet id="test-2" author="dbadmin" context="development">
    <sql>
        CREATE TABLE test_table_2 (
        ID int
        );
    </sql>
</changeSet>

我希望当上下文设置为“开发”时,第二个变更集将运行,而当上下文设置为“生产”或“测试”时,第一个变更集应运行。

我在测试中看到的是'!development'永远不会运行,无论设置了什么上下文。我误会了“!”上下文运算符?

编辑:

通过命令行调用liquibase,传入--context = $ {contexts},其中$ contexts是bash变量

使用liquibase 3.1.1

0 个答案:

没有答案