herokuのデータベースをローカルにリストアする

ローカル環境に本番環境のデータベースを持ってきて開発を続けることもあるのでメモ。

まずは本番環境のDBのバックアップを取ります。

$ heroku pgbackups:capture

HEROKU_POSTGRESQL_COLOR_URL (DATABASE_URL)  ----backup--->  b040

  
この「b040」てのが今取ったバックアップの目印です。
バックアップファイルのURLは下のように取得できます。

$ heroku pgbackups:url b040

"https://s3.amazonaws.com/hkpgbackups/app20000000@heroku.com/b040.dump?AWSAccessKeyId=AAAAAAAAAAAA&Expires=1396852629&Signature=BBBBBBBBBBBBBBBB%2CCCCC"

  
このURLを叩けばファイルがダウンロードできる。
ここでは、latest.dumpというファイルで保存しています。

$ curl -o latest.dump "https://s3.amazonaws.com/hkpgbackups/app20000000@heroku.com/b040.dump?AWSAccessKeyId=AAAAAAAAAAAA&Expires=1396852629&Signature=BBBBBBBBBBBBBBBB%2CCCCC"

  
ダウンロードが完了したらローカルのDBにリストアして完了です。
user_nameとdatabase_nameは適宜置き換えてください。

$ pg_restore --verbose --clean --no-acl --no-owner -h localhost -U user_name -d database_name latest.dump

  
エラーがいろいろ出ますが、herokuによると無視しても問題ないとのことです。

This will usually generate some warnings, due to differences between your Heroku database and a local database, but they are generally safe to ignore.

  
逆バージョンはコチラ。
ローカルのデータベースをherokuにリストアする

参考 : Importing and Exporting Heroku Postgres Databases with PG Backups
  

何かありましたらコメントをどうぞ

comments powered by Disqus

人気の記事

950 Points チリ出身のギタリストが弾くドラゴンボールZがむちゃくちゃかっこいい…
774 Points Wordpress + Heroku + PostgreSQL + Amazon S3 = ¥0 / 無料でサイト運営
700 Points Rubyのチートシート 変数 / クラス / モジュール
524 Points Rubyのチートシート / アクティブサポート
451 Points 紙のデザイナーがウェブ開発できるようになるまでに必要なこと
435 Points Rails / Google Analyticsのデータを使って分析や管理画面のためのグラフをつくる
323 Points RailsとHerokuでノーティフィケーションをプッシュする / PusherとTurbolinksの兼ね合い
222 Points Rails / RSpec テスト書いたことない メンドクサイ(n´Д`)という時のチートシート
193 Points Rails / Ajaxを使って画面遷移しない一時保存機能をつける
193 Points Protractorでスクレイピングしてみた