SoSoraEndo2025年7月8日2 min285 字
なぜ Ridgepole か
schema を「あるべき姿」で宣言する。差分は Ridgepole が出す。これが一番大きい価値です。migrations の積み重ねを読まなくても、現状を一目で確認できる。
チームで起きやすい 6 つのハマり
- schema ファイルの分割を最初に決めないと、後で混じる
- 本番適用は dry-run を必須にする — 検出した DROP は必ず差し戻して人に確認
- add_index の name を明示的に書く(自動命名は環境差で揺れる)
- default 値の型は厳密に — 文字列
"0"と整数0で diff が出る - timestamps をテーブル全部に統一すべきか先に決める
- CI で
--dry-runを強制し、差分が出たら失敗させる
まとめ
Ridgepole は「migration の積み重ねという歴史」を捨て、「現在のスキーマ」だけを残す思想。歴史が必要な瞬間(rollback)はほぼないことに気づけば、強力な道具になります。