差分とロールバック
このガイドでは、DDLBuilder の**「スキーマ差分(Diff)比較」、「ALTER 移行スクリプト生成」、「安全なロールバック DDL」、および「タイムライン再生」**を活用した安全なデータベース変更管理手順を解説します。
概要
既存の運用テーブルに対してカラムの追加・変更・削除やインデックス調整を行う際、本番適用用の変更スクリプトと障害時の切り戻し手順を事前に準備し、事故を未然に防止します。
主な操作手順
1. スキーマ差分の確認(Diff)
- 「保存済みテーブル」ドロワーから対象のテーブルをワークスペースに読み込みます。
- カラムの追加・変更、型修正、インデックス調整などの編集を行います。
- ヘッダーエリアに**「スキーマ変更を確認」**ボタンが自動表示されます。
- クリックして差分モーダルを開き、テーブル設定、カラム変更(名前変更検知、型の変更、削除)、インデックス差分を確認します。
2. ALTER スクリプトとロールバック DDL の出力
- 正向移行スクリプト: モーダル内の**「ALTER スクリプトをコピー」**をクリックし、本番リリース申請用の SQL を取得します。
- 緊急切り戻し手順: 下部のロールバックエリアを展開し、**「ロールバック スクリプトをコピー」**をクリックして、変更前の構造に戻すための DDL を取得します。
3. バージョン履歴とワンクリック切り戻し
- 「保存済みテーブル」一覧で対象テーブルのメニューから**「バージョン履歴」**を開きます。
- 初回作成から各保存時のスナップショット、タイムスタンプ、変更要約を確認できます。
- 過去のバージョンを選択し、**「このバージョンへ復元」**をクリックすると、ワークスペースが即座に対象時点の状態に戻ります。
4. スキーマタイムラインのビジュアル再生
- バージョン履歴モーダル内で**「タイムライン再生」**をクリックします。
- テーブル構造が初期状態から最新版へどのように変化してきたかをアニメーションで再生でき、設計変遷の把握に役立ちます。
完了のチェックリスト
- [ ] スキーマ差分が今回の変更内容を正確に反映している(カラム名変更も正しく検知されている)。
- [ ] 出力された ALTER スクリプトが対象の本番データベースバージョンに対応している。
- [ ] 切り戻し用のロールバック DDL を確保し、リリース計画が揃っている。
- [ ] 過去の履歴バージョンを問題なく確認・復元できる。
注意事項
既存データとの互換性
ALTER およびロールバック DDL はテーブル構造の変更を行います。データ型の縮小やデフォルト値のない NOT NULL カラムの追加など、既存データに影響する変更は本番実行前に十分検証してください。
- Diff ボタンの表示条件: 保存済みテーブルを読み込み、かつ変更が加わった場合のみボタンが表示されます。履歴基線を持たない新規下書きでは表示されません。
- スナップショットの保存: テーブルの上書き保存時に履歴が追加されます。大きな設計変更の前には明示的に保存を行うことを推奨します。