Post

今日の反省: 本番反映前に絶対DBをバックアップしておくこと

やってしまったこと

今日は、エンジニアになってから最悪のミスを犯してしまった…

まず、上司の指示を誤解して、自分で勝手にクライアントの本番サーバーでバージョンアップ作業を行った。

当初の指示はバージョンアップ作業の手順をまとめることだけ。なぜか、私は本番反映もやると理解してしまった。

クライアント側では、まだステージング環境での確認がまだ終わっていない。そもそも本番反映はサーバーを一度シャットダウンする必要があって、絶対に事前にクライアント側に確認すべきだった。

そして、バージョンアップ作業する前に、現時点のデータベースのバックアップを怠ってしまった。

リストア用データベースを作っておいたけど、使っていたデータは今朝cronでバックアップした分のみで、現在の最新データを使っていなかった。

もしこの後、何か不具合が発生する場合、たとえデーターをリストアするとしても、データーの損失が発生する可能性がある。

あるいは、新規マイグレーションをmigration downして、元のmigration状態に戻すこと。2年間分のマイグレーションファイルを一個一個rollbackすることは、リスクも非常に高い…

結局、バージョンアップ後の不具合に気付き、バージョンを復元することになった。

幸い、cronから作業時点までにまだ最新の更新がなかったので、直接dumpデーター使って直接リストアできた。

今回の反省

  • 上司の指示に対して、自分の理解に間違いがないか、必ず確認する。特に本番サーバーでの作業は、自分ひとりでやらないこと。本番反映は必ず二人以上で行うべきだった。

  • バージョンアップやデプロイする前に、必ず現在データーをバックアップすること。

This post is licensed under CC BY 4.0 by the author.