Skip to content
Latchkey

expand-contractマイグレーション - CI/CD用語集の定義

expand-contract(並行変更)パターンは、破壊的なスキーマ変更を3つのフェーズに分割します。expand(新しい構造を追加)、migrate(二重書き込みと埋め戻し)、そして何も読み取らなくなったらcontract(古い構造を削除)です。

なぜか

各フェーズは後方互換なので、deployはローリングのまま進み、アプリケーションの古いコードと新しいコードがスキーマについて食い違う必要が決してありません。カラムを安全にリネームまたは分割するための標準的な手順です。

関連ガイド