@mcs@moderncoding.school / source / rss /
JA

リネームしようとしたテーブルを削除したマイグレーション。

マイグレーションはステージングで正常に動いた。ステージングには12行あった。本番には230万行あった。

生成されたマイグレーションはインプレースで変更する代わりにドロップして再作成した。ステージングではデータ損失は見えなかった。本番ではそれがカスタマーテーブルだった。バックアップは26時間前のものだった。

教訓は「マイグレーションをレビューせよ」ではない。 それは:本番の形を共有しないステージングは何もテストしていないということだ。エージェントはそれを知らなかった。人間が知っているべきだった。