家計簿アプリを作る #97:Cloudflare Pages への再デプロイ

家計簿アプリ作成シリーズの第97回です。リストア処理の見直しがまとまったので、Cloudflare Pagesへ再デプロイします。

デプロイ手順

スキーマの変更が無いので、マイグレーションは不要でした。コードをpushして、Cloudflare側でビルドとデプロイが走るのを待つだけです。

本番環境での動作確認

リストアは実行すると既存データが置き換わる機能なので、本番の自分のアカウントではなく、確認用のアカウントを作って試しました。

  1. 確認用アカウントでカテゴリと、レシート付きの取引を数件登録する
  2. バックアップをダウンロードする
  3. さらにレシート付きの取引を1件追加する
  4. 2でダウンロードしたファイルでリストアする

確認したのは3点です。

  • 取引が復元されていること(件数が2の時点に戻る)
  • 3で追加した取引のレシート画像だけがR2から消え、復元された取引の画像は表示されること
  • 拡張子を.jsonにしたCSVファイルを選ぶと、500エラーではなく画面にメッセージが出ること

2番目は、リストア前にreceipt_keyを控えておき、wrangler r2 object getで確認しました。単に「リストアが成功した」だけでは、差分の計算が合っているかは分かりません。

確認が終わったら、アカウントごと削除しています。

まとめ

今回の修正のうち、取引が復元されないバグは「エラーが出ずに完了する」種類のもので、実際にデータを見に行かないと気付けないものでした。本番での確認も、画面の見た目ではなくSQLとR2の中身で確かめる手順にしています。確認のコストは少し上がりますが、前回それを省いた結果としてバグを見逃しているので、妥当な投資だと思っています。

← トップページに戻る