家計簿アプリを作る #97:Cloudflare Pages への再デプロイ
家計簿アプリ作成シリーズの第97回です。リストア処理の見直しがまとまったので、Cloudflare Pagesへ再デプロイします。
デプロイ手順
スキーマの変更が無いので、マイグレーションは不要でした。コードをpushして、Cloudflare側でビルドとデプロイが走るのを待つだけです。
本番環境での動作確認
リストアは実行すると既存データが置き換わる機能なので、本番の自分のアカウントではなく、確認用のアカウントを作って試しました。
- 確認用アカウントでカテゴリと、レシート付きの取引を数件登録する
- バックアップをダウンロードする
- さらにレシート付きの取引を1件追加する
- 2でダウンロードしたファイルでリストアする
確認したのは3点です。
- 取引が復元されていること(件数が2の時点に戻る)
- 3で追加した取引のレシート画像だけがR2から消え、復元された取引の画像は表示されること
- 拡張子を
.jsonにしたCSVファイルを選ぶと、500エラーではなく画面にメッセージが出ること
2番目は、リストア前にreceipt_keyを控えておき、wrangler r2 object getで確認しました。単に「リストアが成功した」だけでは、差分の計算が合っているかは分かりません。
確認が終わったら、アカウントごと削除しています。
まとめ
今回の修正のうち、取引が復元されないバグは「エラーが出ずに完了する」種類のもので、実際にデータを見に行かないと気付けないものでした。本番での確認も、画面の見た目ではなくSQLとR2の中身で確かめる手順にしています。確認のコストは少し上がりますが、前回それを省いた結果としてバグを見逃しているので、妥当な投資だと思っています。