Не удалось прочитать документ схемы 'http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.8.xsd' - PullRequest
0 голосов
/ 13 марта 2020

Я установил подключаемые модули Liquibase runner 1.3.0 в Jenkins и пытаюсь выполнить файл сценария жидкой базы изменений, который я получил после выполнения команды diffChangeLog. При выполнении файла сценария я получаю Не удалось прочитать документ схемы 'http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.8.xsd' в качестве исключения. Я проверил мой файл журнала изменений, и он имеет указанный ниже заголовок.

<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
    xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
    xmlns:pro="http://www.liquibase.org/xml/ns/pro"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext
                        http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd
                        http://www.liquibase.org/xml/ns/pro
                        http://www.liquibase.org/xml/ns/pro/liquibase-pro-3.8.xsd
                        http://www.liquibase.org/xml/ns/dbchangelog
                        http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.8.xsd">

Но теперь здесь, когда я заменяю '3.8' на '3.5' в обоих местах в заголовке, тогда он успешно выполняется. Я хочу, чтобы это выполнялось только с '3.8'. Пожалуйста, помогите.

1 Ответ

1 голос
/ 13 марта 2020

Заголовок в журнале изменений указывает только то, какой xsd (XML Описание схемы) используется при анализе файла xml журнала изменений в объектах. Этот xsd встроен в jar-файл liquibase, который используется при запуске команды. Проблема, с которой вы сталкиваетесь, заключается в том, что плагин Liquibase Runner для Jenkins v 1.3.0 содержит более старую версию jar ликвидазы. Если вы посмотрите на историю изменений для этого плагина , вы увидите, что он включает в себя версию 3.5.3 Liquibase, поэтому вы можете использовать только теги XML, которые были доступны в этой версии. Вы можете установить xsd для справочной версии 3.5.

Люди из Liquibase (включая меня) в настоящее время работают над выпуском более новой версии плагина для запуска Liquibase для Jenkins, в котором будет более новая версия Liquibase. Я работаю с первоначальным автором над решением проблем безопасности, помеченных командой Jenkins. У меня нет даты, когда это будет сделано. Вы можете создать плагин самостоятельно, если он вам нужен раньше, , применяя PR # 16 к вашей локальной копии, прежде чем создавать его . Исходный код плагина: https://github.com/jenkinsci/liquibase-runner-plugin

Если вы хотите узнать больше о Liquibase XML и xsd, я написал раздел в Liquibase FAQ, посвященный этой теме c.

...