危険察知4 択難易度 応用

状況

本番リリースの手順は「マイグレーションを流し、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)

正答

  1. Done と exit 0 が出ているので、完了として次へ進んでよい
  2. add_index の所要時間が出ていないので、性能影響を先に調べるべき
  3. WARN は警告にすぎないので、リリース後にまとめて確認すればよい
  4. 1 件がロック待ちでスキップされ、適用されていない

解説

20261010_drop_old_col はロック待ちのタイムアウトでスキップされ、適用されていない。それでもツールは最後に Done と終了コード 0 を返している。このまま新しいアプリを出すと、前提にしたスキーマになっていない、後続のマイグレーションとの順序が崩れる、などの不整合が残る。スキップされた理由(長いトランザクションがロックを持っていた等)を調べ、再適用してから進む。所要時間の確認は優先度が低い。

outputwarningmigration

この問題を含む 危険察知 のテストを制限時間つきで解く

危険察知クイズへ