2017-02-21 15 views
0

Я пытаюсь передать параметр из моей команды обновления, а также файл свойств Liquibase в свой набор изменений. По какой-то причине он не распознает местозаполнитель в качестве параметра, а анализирует его как значение.LiquiBase - Передача параметра из командной строки или свойств в набор изменений XML

Это, как я призываю CHANGELOG (который проходит успешно):

@echo off 
call Liquibase --changeLogFile=myChangeLogFile.xml update -Dparamname=value 

myChangeLogFile.xml:

<changeSet author="tobi" id="preMigration" runAlways="true"> 
    <executeCommand executable="C:\myBatFile.bat"> 
     <arg value="${liquibase.properties.Dparamname}"/> 
     <arg value="${liquibase.properties.url}"/> 
    </executeCommand> 
</changeSet> 

Скрипт не распознает $ {liquibase.properties.Dparamname} или $ {liquidibase.properties.url} в качестве заполнителей.

Мой Liquibase.properties файл имеет набор параметров

url:jdbc:oracle:thin:@xyz:1521:ORCL 

.

Любая идея, как я могу получить доступ к свойствам или параметрам командной строки?

Спасибо

Буду признателен за ваши отзывы.

Tobias

ответ

0

Вместо того чтобы использовать это в вашем журнале изменений:

<changeSet author="tobi" id="preMigration" runAlways="true"> 
    <executeCommand executable="C:\myBatFile.bat"> 
     <arg value="${liquibase.properties.Dparamname}"/> 
     <arg value="${liquibase.properties.url}"/> 
    </executeCommand> 
</changeSet> 

он должен выглядеть следующим образом:

<changeSet author="tobi" id="preMigration" runAlways="true"> 
    <executeCommand executable="C:\myBatFile.bat"> 
     <arg value="${paramname}"/> 
     <arg value="${url}"/> 
    </executeCommand> 
</changeSet> 

-D в командной строке это стандартный механизм Java для задавая свойства системы, но при обращении к ним вы просто используете имя свойства. Я вполне уверен, что вам не нужно использовать префикс liquibase.properties.

+0

Спасибо $ {paramname} работал нормально. К сожалению, я не смог ссылаться на параметры файла свойств. –

 Смежные вопросы

  • Нет связанных вопросов^_^