Flywayは、継続的デリバリー/デプロイメントに最適です。多くのクライアントが、本番環境を含むすべての環境で使用しています。
環境間でDB移行をカスケードするための最も重要なことは、3つのステップのプロセスを持つことです。
ステップ1
古いアプリケーションコードは古いDBと連携して機能します。
ステップ2
新しいアプリケーションコードがデプロイされ、起動時にDBが移行されます。古いアプリケーションコードが新しいDBで引き続き機能するように、この移行には下位互換性が必要です。これは次の理由で不可欠です:
- その後、ローリングアップグレードを実行して、すべてのノードに新しいアプリケーションコードが追加されるまで、一度に1つのノードをアップグレードできます。
- 新しいアプリケーションコードが壊れている場合は、すぐに古いアプリケーションコードにロールバックします
このステップには、互換性ビューとジョブを実行するためのトリガーが含まれる場合があります。
ステップ3
変更が機能することが証明された後、アプリケーションコードの次のバージョンが、必要なDB移行とともにデプロイされ、残りの古い(ステップ1から)構造と互換性(ステップ2から)構造が破棄されます。