Liquibase включают с контекстом - PullRequest
0 голосов
/ 04 июля 2018

Мне нужно включить файлы в databaseChangeLog, но эти файлы могут не существовать, в зависимости от установки. Моя идея заключалась в том, чтобы использовать что-то вроде include с контекстом, поэтому Liquibase будет пытаться открыть файл только тогда, когда указан соответствующий контекст:

<include file=”myFile” context=”myContext”/>

Но контекст не используется во включаемом теге, и Liquibase завершается ошибкой, потому что файл отсутствует. Я не буду использовать includeAll, потому что мне нужно, чтобы файлы были включены в определенные части моего основного файла. Есть идеи? Спасибо!

Ответы [ 2 ]

0 голосов
/ 02 января 2019

Наряду с тем, что сказал Дженс, обязательно обновите версию XML-схемы. Тот, который они имеют в документации (в настоящее время 3.1), не поддерживает это. Обновление до 3.5 работает для меня.

<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">

(обратите внимание на 3,5 в самом конце)

0 голосов
/ 05 июля 2018

Какую версию ликвидазы вы используете?

«Контекст» был добавлен к тегу включения в этом коммите .

Также проверьте этот билет jira: CORE-155 .

Так что, возможно, ваша версия liquibase слишком старая (ниже 3.5.0)?

...