我有一个MVN项目,用于使用Liquibase 3.1.1管理数据库迁移
我有一个包含要运行的上下文的属性文件
contexts=development
正在加载,我在输出中看到以下内容
[INFO] context(s): development
我有一个类似于以下内容的databaseChangeLog
<databaseChangeLog
xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.1.xsd">
<include file="changesets/api/pmck/pmck-1.sql" relativeToChangelogFile="true"/>
<include file="changesets/api/pmck/pmck-2.sql" relativeToChangelogFile="true"/>
</databaseChangeLog>
要在不在开发环境中时运行的文件pmck-1.sql:
-- liquibase formatted sql
-- changeset pmck:pmck-1.sql context=!development failOnError:true
create table PMCK_TEST_PRODUCTION_ONLY_TABLE(
ID CHAR(128) NOT NULL
);
INSERT INTO PMCK_TEST_PRODUCTION_ONLY_TABLE
(ID)
VALUES(uuid()),
(uuid());
和第二个我无论上下文如何都想始终运行的sql:
-- liquibase formatted sql
-- changeset pmck:pmck-2.sql failOnError:true
create table PMCK_TEST_TABLE(
ID CHAR(128) NOT NULL
);
INSERT INTO PMCK_TEST_TABLE
(ID)
VALUES(uuid()),
(uuid());
运行mvn install
时,无论上下文值如何,我都发现两者都在运行。我如何只能运行一个?我错过了什么