1 ポイント 投稿者 coder013 18 일 전 | まだコメントはありません。 | WhatsAppで共有

なぜ作ったのか

  • ECS/EKS 環境ではアプリケーションのロールバックは可能ですが、データベースの変更は自動でロールバックできません。
  • Flyway では undo コマンドでロールバックをサポートしていますが、Enterprise Edition からの機能であり、Community Edition では使用できません。
  • Enterprise ライセンスの負担が大きい 個人プロジェクトや小規模チーム のために、この Extension を開発しました。

動作方式

  • マイグレーションと同じ方式で R{version}__*.sql ファイルを db/rollback/ に作成
  • アプリケーション起動時に現在のバージョン → ターゲットバージョン間のスクリプトを逆順で実行

主な機能

  • Fail-fast 事前検証 — 実行前にロールバックスクリプトの有無を確認
  • 単一トランザクション — all-or-nothing を保証
  • Dry-run モード — 実行計画のみをログ出力可能
  • ロールバック履歴flyway_rollback_history テーブルにログを記録
  • Actuator エンドポイント/actuator/flyway-rollback で適用済みバージョンと利用可能なスクリプトを確認

要件

  • Java 17+, Spring Boot 3.x

初めて開発したオープンソースライブラリなので、不足している点も多いかもしれません。使用感や改善提案を気軽にお寄せください。ありがとうございます!

まだコメントはありません。

まだコメントはありません。