2017-02-20 12 views
0

Есть ли способ вызова внешних скриптов с либерзазой поэтапно?Предварительная и пост-миграция - Вызов внешних скриптов - Liquibase

Ищу что-то подобное пролетный путь обратного вызова для вызова внешних скриптов, как ш: https://flywaydb.org/documentation/callbacks.html

Пример:

1) до миграции: запустить ш сценарий 1

2) запустить миграцию

3) после миграции: запустить скрипт ш 2

4) Если миграция не удается: запустить скрипт ш 3

В основном поэтапный механизм вызова внешних скриптов в рамках шагов миграции.

Буду признателен за ваши замечания.

Спасибо

Tobi

ответ

0

Вы можете запускать внешние программы (в том числе Sh скриптов) с http://www.liquibase.org/documentation/changes/execute_command.html

Если вы хотите, прежде чем запустить что-то и после каждой миграции перспективе, необходимо структурировать мастер changelog такой путь:

<changeSet id="preMigration" runAllways="true"> 
    ...pre migration 
    </changeSet> 

    ...all your migrations are here 

    <changeSet id="postMigration" runAllways="true"> 
    ...post migration 
    </changeSet> 

И я не уверен, что есть обработчик ошибок.

0

Спасибо Dbf

я смог запустить файл летучая мышь с помощью LiquiBase и передать параметры в него:

<property name="my_param_name" value="myValue"/> 

<changeSet author="tobi" id="preMigration" > 
    <executeCommand executable="C:\projects\lbdemo\trunk\mybatfile.bat"> 
     <arg value="Constant: ${my_param_name}"/> 
    </executeCommand> 
</changeSet> 

C: \ Projects \ lbdemo \ ствол \ mybatfile.bat:

@echo off 
    if not exist "C:\Test\" mkdir C:\Test 
    set arg1=%1 
    (echo %arg1%) > C:\Test\EmptyFile.txt 

mybatfile.bat создаст файл EmptyFile.txt и напишет в него значение my_param_name.

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

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