1

ドッキングコンテナでflywayコマンドラインを使用してマイグレーションスクリプトを適用します。私は今私の実装でJavaのコールバックを追加する必要があります。コールバックは、pom.xml<callback>の定義を持つflyway-maven-pluginを通じて正常に検出および起動できます。私はこのプロジェクトのJARを生成します。コマンドラインでフライウェイコールバックを実行

これで、コマンドラインで実行します。次のコマンド作品は、私のSQLの移行は

flyway repair migrate 
    -locations=path/to/sql/migration 
    -url=... 

を適用している私は私のコールバックを追加する場合は、このように、それは私に次のエラー

flyway repair migrate 
    -locations=path/to/sql/migration 
    -callbacks=com.company.MyCallback 
    -url=... 

クラス「com.companyをインスタンス化することができませんを伝えます。 MyCallback」

私もjarDirsオプションを試してみましたが、同じエラー

flyway repair migrate 
    -locations=path/to/sql/migration 
    -jarDirs=/folder/containing/the/jar/i/generated 
    -callbacks=com.company.MyCallback 
    -url=... 

しかし結果はありません。どんな助けやヒントもありがとう!

+1

'-X'でデバッグオプションを指定して実行すると、マイグレーションファイルとjarファイルの検索先がわかります。 –

答えて

0

ドキュメントを1として、-jarDirsスイッチが両方の修理のためにサポートされており、あなたがしようとしているコマンドやドキュメントの状態

を移行jarDirsデフォルト:{インストール先ディレクトリ} /ディレクトリのjarファイルカンマ区切りリスト

しかし、これはカスタムコールバックの読み込みでは機能しませんでした。カスタムコールバックは${FLYWAY_HOME}/jarsからのみ読み込まれているようです。

私はorg.flywaydb.core.api.callback.BaseFlywayCallbackから拡張された簡単なコールバックでいくつかのテストを行いましたが、正常に動作しているようです。

これが問題を解決することを願っています。

関連する問題