Closed shg25 closed 1 year ago
相談したメモ
スケジュール設定をSTGでテストするコード
$ heroku pg:backups:schedule DATABASE_URL --at '02:00 Asia/Tokyo' --app rnsite-stg
あとはDATABASE_URL
を変える
バックアップを作成 → 確認
$ heroku pg:backups:capture --app [app名]
$ heroku pg:backups --app [app名]
バックアップがダウンロードできるURLを取得
$ heroku pg:backups:url [バックアップID] --app [app名]
ローカルの開発環境のDBにリストアする
$ pg_restore -U postgres -d [DB名] [バックアップデータのファイルパス]
Herokuでapp選択 → Overview:Installed add-ons → heroku-postgresql Durability → MANUAL BACKUPS & DATA EXPORTS
スケジュール確認
$ heroku pg:backups:schedules --app [app名]
スケジュール設定(まだやってないので後で挙動確認)
$ heroku pg:backups:schedule DATABASE_URL --at '05:00 Asia/Tokyo' --app [app名]
Heroku PGBackups(公式ドキュメント) https://devcenter.heroku.com/ja/articles/heroku-postgres-backups
PLAN : hobby-dev バックアップ件数:2 保持される週次バックアップ件数:1週間 保持される月次バックアップ件数:0ヶ月
復元とかDB間コピーのコマンドもあり
stgのスケジュールを5時にしてみたので様子見
数日経過
ID Created at Status Size Database
──── ───────────────────────── ─────────────────────────────────── ─────── ────────
a003 2022-07-16 20:02:33 +0000 Completed 2022-07-16 20:02:35 +0000 78.57KB DATABASE
a002 2022-07-15 20:01:25 +0000 Completed 2022-07-15 20:01:27 +0000 78.57KB DATABASE
b001 2022-07-08 12:38:01 +0000 Completed 2022-07-08 12:38:03 +0000 78.45KB DATABASE
b001
が手動、a002
とa003
がスケジュール
このまま1週間分aXXX
が増えるのかな
引き続き見てみる
スケジュールについては想定通りの結果に (想定より1日多い気がするけど)
$ heroku pg:backups --app [アプリ名]
=== Backups
ID Created at Status Size Database
──── ───────────────────────── ─────────────────────────────────── ─────── ────────
a092 2022-10-13 20:01:02 +0000 Completed 2022-10-13 20:01:04 +0000 78.79KB DATABASE
a091 2022-10-12 20:02:30 +0000 Completed 2022-10-12 20:02:33 +0000 78.79KB DATABASE
a090 2022-10-11 20:01:20 +0000 Completed 2022-10-11 20:01:22 +0000 78.79KB DATABASE
a089 2022-10-10 20:00:50 +0000 Completed 2022-10-10 20:00:52 +0000 78.79KB DATABASE
a088 2022-10-09 20:03:48 +0000 Completed 2022-10-09 20:03:49 +0000 78.79KB DATABASE
a087 2022-10-08 20:03:12 +0000 Completed 2022-10-08 20:03:18 +0000 78.79KB DATABASE
a086 2022-10-07 20:03:12 +0000 Completed 2022-10-07 20:03:17 +0000 78.79KB DATABASE
a085 2022-10-06 20:03:46 +0000 Completed 2022-10-06 20:03:47 +0000 78.79KB DATABASE
b001 2022-07-08 12:38:01 +0000 Completed 2022-07-08 12:38:03 +0000 78.45KB DATABASE
リモートDB(Heroku Postgres)にリストア → STGで試す
https://devcenter.heroku.com/ja/articles/heroku-postgres-import-export#import-to-heroku-postgres
HTTP でアクセス可能な URL の場所にアップロードする必要があります。
ローカルに持ってるデータを使うならドキュメントの通りS3でプリサインURLが良さそう。
今回はバックアップを使うので以下の手順でやってみた
バックアップがダウンロードできるURLを取得
$ heroku pg:backups:url [バックアップID] --app [app名]
そのURLを以下にセットしてリストア実行
$ heroku pg:backups:restore '[URL]' DATABASE_URL --app [アプリ名]
リストアとか別DBに付け替えとかするとログイン中のユーザーもログアウトするので事前にお知らせする
いざってときのためにやってみておく