2017-02-20 9 views
0

外部スクリプトを段階的にliquibaseで呼び出す方法はありますか?前後の移行 - 外部スクリプトの呼び出し - liquibase

私はshのように外部スクリプトを呼び出すためのコールバックをフライウェイのようなものを探しています:https://flywaydb.org/documentation/callbacks.html

例:

1)移行前:実行shスクリプト1

2)運転移行

3)移行後スクリプトの実行2

4)移行に失敗した場合:shスクリプト3

基本的に、移行手順の一部として外部スクリプトを呼び出す段階的なメカニズムです。

フィードバックに感謝いたします。

はあなたが前に何かを実行すると、各移行の実行後に、あなたはあなたのマスターを構築する必要がある場合はあなたがhttp://www.liquibase.org/documentation/changes/execute_command.html

で(shのスクリプトを含む)外部プログラムを実行することができます

トビ

答えて

0

ありがとう変更ログのように:

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

    ...all your migrations are here 

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

エラーハンドラがあるかどうかはわかりません。

0

あなたは、私がLiquiBaseをを使用して、batファイルを実行し、その中にパラメータを渡すことができました

をDBFありがとう:

<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:\プロジェクト\ 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値を書き込みます。

関連する問題