KDOC 593: 安全なマイグレーション手法をチームに導入する
この文書のステータス
- 作成
- 2026-09-17 貴島
- レビュー
- 2026-09-17 貴島
概要
Web開発に関するインシデントの多くがDB関係に見える。対策として行ったことをメモする。方向性としては、ベストプラクティス Expand and Contract を理解度を深め、また沿うためのガードを入れることである。
- 変更前のソースコード + マイグレーション適用済みDBでテストし、デプロイの一時的な組み合わせでダウンタイムが発生しないことを確かめる
- マイグレーションに対して strong_migrations 的な静的チェックを入れる
- 本番環境のレコード数情報をレビューAIに与え、重大なテーブルを変更する場合は通知させる。レコード数の少ないテーブルでは、それほど注意する必要がないことが多い
関連
抽象。
- 新旧が一時的に混在する移行の期間にも壊れないようにする
- 人の注意に頼らず、自動の検査で危険な変更を止める
関連。
- 原典: ankane/strong_migrations: Catch unsafe migrations in development
- 類似: KDOC 393: ビックバンデプロイは規模が大きいほど段階的に分けたほうがよい。データの変更とコードの変更を同時にしない考え
- 類似: KDOC 191: 仕様を検証するツールも提供するとよい。取り決めを、機械で確かめられる形にする例