コードを戻してもデータは戻らない|復旧手順を分けて考える

不具合の前のコードへ戻しても、その間に作成・変更された外部データまで元に戻るとは限りません。復旧を考えるときは、戻す対象を分けて整理します。本記事は計画の提案で、実際に復元できたという報告ではありません。

戻す対象を分ける

プログラムの版、動作に使う設定、保存されたデータ、公開先の状態はそれぞれ違います。コードの履歴に認証情報や外部の記録まで入っているとは限りません。何が履歴にあり、何が別管理かを確認します。

復旧計画の型

対象 確認すること
コード 戻す版と現在の差分
設定 対応する値や環境
データ 変更された範囲と保存元
公開状態 残る記事やファイル
再実行 重複や二重処理の可能性
確認方法 復旧後の完成条件

これは架空の型です。バックアップが存在するだけで、必要な範囲を復元できると断定しません。保存した時点と復元方法を確認します。

操作を始める前

影響する範囲と、追加で変更してよい対象を確認します。削除や上書きが必要な場合は、許可と現在の記録を確保します。問題を隠すために、証拠となるログや原本を先に消さないようにします。

計画を書く例

コードは[確認済みの版]へ戻す候補です。外部データの変更は別途確認し、[対象]を残すか戻すか判断します。再実行前に[識別方法]で既存結果を照合します。復旧後は[確認条件]を検証します。

未確認の項目は未確認と書きます。「元に戻す」という一言で、すべてを実行したことにしません。

復旧後に見ること

処理が動くかだけでなく、必要なデータが残り、不要な重複がないかを確認します。旧版が新しいデータ形式を扱えるかも別に確認します。実施した操作と残る制約を報告します。

公開処理を戻す場合の例

架空の例として、新しい公開処理が記事を作成した後、コードだけを前の版へ戻しても、その記事は公開先に残るかもしれません。残す記事、直す記事、取り下げる必要がある記事を別に確認します。再実行で同じ記事を作らないかも調べ、コードの変更と公開データの扱いを一つの操作として扱いません。

関連する確認

既存機能を守る条件と実際の公開状態の確認も、復旧の完成条件を考える参考になります。

コメント

タイトルとURLをコピーしました