状況
本番リリースの手順は「マイグレーションを流し、Done と出たら次へ」。作業者が出力を見て、次の手順に進もうとしている。
この出力で止めるべき点は?
$ npm run migrate applied 20261001_add_index ........ ok WARN: 20261010_drop_old_col skipped (lock wait timeout) applied 20261015_add_column ....... okDone. (exit 0)正答
- Done と exit 0 が出ているので、完了として次へ進んでよい
- add_index の所要時間が出ていないので、性能影響を先に調べるべき
- WARN は警告にすぎないので、リリース後にまとめて確認すればよい
- 1 件がロック待ちでスキップされ、適用されていない
解説
20261010_drop_old_col はロック待ちのタイムアウトでスキップされ、適用されていない。それでもツールは最後に Done と終了コード 0 を返している。このまま新しいアプリを出すと、前提にしたスキーマになっていない、後続のマイグレーションとの順序が崩れる、などの不整合が残る。スキップされた理由(長いトランザクションがロックを持っていた等)を調べ、再適用してから進む。所要時間の確認は優先度が低い。
この問題を含む 危険察知 のテストを制限時間つきで解く
危険察知クイズへ