1

db-maintain には、ストアド プロシージャ/トリガーなどの反復可能なスクリプトの概念があります。このようなスクリプトに変更があった場合は、再度ロールアウトする必要があります。Flyway はファイル名の規則を常にチェックしているようです。したがって、反復可能なスクリプトを作成するには、ファイルの名前を変更する必要がある場合があります。これを行うより効率的な方法はありますか?

4

2 に答える 2

3

Flyway は、バージョン 4.0 で反復可能な移行のサポートを開始しました。反復可能な移行は、チェックサムが変更されるたびに再適用され、バージョン管理で単一のファイルとして維持できます。

同じ反復可能な移行を複数回適用できるようにするのは、ユーザーの責任です。これには通常、DDL ステートメントで CREATE OR REPLACE 句を使用することが含まれます。

詳細はこちら

于 2016-03-07T04:44:27.550 に答える
2

この問題は、Issue Trackerとこの他の質問で取り上げられました。

現在、これに対するすぐに使えるサポートはありません。

個人的には

  • 繰り返し可能なアクションをストアド プロシージャまたはトリガーにパッケージ化し、通常の移行の一部として DB に追加します。
  • その後、このプロシージャ/トリガーが移行ごとに1回呼び出されることを確認してください(1行のステートメントである可能性があります)
  • その後に必要な手順/トリガーへの変更も、定期的な移行の一環として行われるようにする

それでも問題が解決しない場合は、遠慮なく問題にスターを付けて、ユース ケースの詳細をコメントしてください。

更新: Flyway 4.0 で、反復可能なスクリプトが完全にサポートされるようになりました。https://flywaydb.org/documentation/migration/repeatableを参照してください

于 2011-12-20T00:47:46.523 に答える