Я использую liquibase 3.6, и я хотел бы добиться следующего:
У меня есть два набора изменений (enable-test. xml и disable-test. xml), первое, которое я хочу он должен выполняться, когда context == 'test', а второй - когда context! = 'test'.
Это мой файл журнала изменений:
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.5.xsd">
<include file="init.xml" relativeToChangelogFile="true" context="main"/>
<include file="enable-test.xml" relativeToChangelogFile="true" context="test"/>
<include file="disable-test.xml" relativeToChangelogFile="true" context="!test"/>
</databaseChangeLog>
Второй набор изменений находится в процессе выполняется даже тогда, когда контекст == 'тест'. Я что-то упустил?
Редактировать:
Я установил контексты в gradle:
liquibase {
activities {
main {
changeLogFile "liquibase-changelog.xml"
url 'jdbc:mysql://localhost:3306/world'
contexts liquibaseContexts
username 'XXX'
password 'XXX'
}
}
runList = 'main'
}