Liquibase контексты восклицательный оператор - PullRequest
0 голосов
/ 04 февраля 2020

Я использую 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'
}
...