仕事中のアプリケーション用に flyway プロジェクトを作成しました。結局のところ、開発者の 1 人は、フライウェイのセットアップをテストする準備が整う前に、すでに TEST で SQL ステートメントの一部を実行していました。
私のSQLスクリプトにはいくつかのステートメントがあります:
ALTER TABLE "TABLE1" MODIFY ("NAME" VARCHAR2(75 CHAR));
ALTER TABLE "TABLE2" DROP ("BOARD_ID");
ALTER TABLE "TABLE3" ADD CONSTRAINT "SYS_C0022270" CHECK ("ID" IS NOT NULL) ENABLE;
ステートメント 2 で削除する必要がある列は、TEST インスタンスで既に手動で削除されています。私たちの PROD インスタンスにはドロップされていません。手動ではなく、移行によってドロップしたいと考えています。
明らかに、最初に TEST で試してみずに PROD で移行を実行しているわけではありません (これらの 3 つのクエリよりも多くのものがあります)。
しかし、私が問題を抱えている移行は最初の行であるため、続行できません。
強制的に通過させる方法はありますか?列が既に削除されていることは知っています。もう一度作成してから、移行で削除することができます。しかし、失敗する可能性のある他のクエリがある可能性があります (既に存在する可能性のあるシード データの作成など)。そして、私たちの展開を止めたくありません。
PROD から DB を再度複製し、新しい移行セットを準備している間、開発チームに開発を停止させる以外のアイデアはありますか?