アプリのデータを毎晩 Google スプレッドシートに写して、見渡す台帳と復旧の保険にする
業務アプリのデータベースを、毎晩 Google スプレッドシートに読み出し専用で写しています。サーバーの PHP が Google Drive API(drive.file の権限)で書き込み、オーナーが見渡す台帳と、壊れた時の復旧の保険にしています。GAS ではなくサーバーが書き込む方式にした理由も書きます。

アプリのデータベースを毎晩 Google スプレッドシートに写すと、見渡すための台帳と、サーバーが壊れた時の復旧の手がかりを、1つで用意できます。私たちは、GAS ではなくサーバーが書き込む方式にし、Google の権限は、アプリが作ったファイルだけを触れる drive.file だけを使っています。
不動産の業務アプリ(Kaitori Base)のデータは、私たちのサーバーのデータベースに入っています。これを、会社のオーナーの Google ドライブにある1つのスプレッドシートにも、毎晩写すことにしました。私たちは、これを「台帳」と呼んでいます。
台帳の目的は2つです。オーナーが、業者や案件をスプレッドシートで見渡せること。そして、もしサーバーが壊れた時に、データを戻す手がかりにすることです。この記事は、台帳に何を入れ、どう作ったかの記録です。
スプレッドシートの台帳は、読み出し専用の写し

入れるものと、入れないもの

| 入れる | 入れない |
|---|---|
| 業者、業者の連絡先、訪問の記録 | チャット |
| 案件と、その詳細のすべて(査定、打診、契約、販売など) | 日報と、日報へのコメント |
| 写真や資料の、Google ドライブの場所 | やること |
| 組織の設定、リフォームの単価などの設定 | パスワードやトークンなどの認証の情報 |
チャット、日報、やることは入れません。認証の情報は、台帳にも、どこにも書き出しません。
人が見やすいように並べる

ほかにも、見やすさのために決めたことがあります。
- 見出しの行と、先頭の列(案件名、業者名)を固定する
- 前回の反映より後に新しく入った行と、変わった行に、薄い色を付ける
- 金額は3桁区切りの数字のまま入れ、並べ替えや絞り込みが効くようにする
- 選択肢は英語の記号ではなく、日本語で出す

手動のボタンと、毎晩の自動
台帳への反映は、オーナー用の Web のページにある「今すぐ反映」のボタンと、毎晩の自動の2つです。どちらも同じ処理で、サーバーがデータベースから表を作り、スプレッドシートに書き込みます。失敗した時は、ページに出し、オーナーにメールで知らせます。

GAS ではなく、サーバーが書き込む方式にした
最初は、スプレッドシートに GAS(Google Apps Script)を入れ、GAS がサーバーからデータを取りに行く方式を考えていました。けれども、この方式は採りませんでした。

サーバーが壊れた時の保険
台帳とは別に、毎晩、全データの復旧用のファイルも、オーナーの Google ドライブに残しています。データベースそのものの毎日のバックアップは、私たち運営者の側でも取っています。命綱を2本持っておく考え方です。


まとめ

- 業者、案件、設定を、オーナーの Google ドライブの1つのスプレッドシートに、読み出し専用で写す
- チャット、日報、やること、認証の情報は入れない
- 新しいもの、更新されたものほど上に並べ、変わった行に色を付ける
- 手動のボタンと毎晩の自動で反映する。作り方は GAS ではなく、サーバーが書き込む方式にした
- 台帳と復旧用のファイルは、サーバーが壊れた時の保険にもなる
この記事は、AI(Claude)の支援を受けて作成し、筆者が内容を確認しています。


