OSX 10.10 で boot2docker を実行しています。コンテナーを開始/停止するたびにデータベースがリセットされないように、データベース コンテナーをセットアップしています。postgres データベースのダンプを heroku から docker データベースにインポートしたいと考えています。これは可能ですか?
質問する
1777 次
1 に答える
10
同僚の助けを借りて、これを見つけることができました。通常の古い postgres データベースよりも少し難しいですが、大したことではありません。これは、このスタックオーバーフローの回答に基づいています。
- heroku データベース ダンプのダウンロード URL を生成します。
heroku pgbackups:url
- postgres コンテナーで bash シェルを開始します。私のシステムでは、このコンテナの名前は次の
pg
とおりです。fig run db bash
- カールをインストールします。
apt-get update && apt-get install curl
- curl を使用してデータベース ダンプをダウンロードします。
curl -o latest.dump [PASTE THE OUTPUT OF STEP 1 HERE]
- ダンプをインポートします (データベース名とユーザー名は、それぞれ fig.yml と database.yml にあります)。
pg_restore --verbose --clean --no-acl --no-owner -h [YOUR BOOT2DOCKER IP] -U [YOUR_USERNAME] -d [DATABASE_NAME] latest.dump
そして、あなたはそれを持っています!
最後のステップが何らかの無効なデータベース エラーで失敗した場合は、latest.dump を で再確認してくださいhead latest.dump
。データベースが正しくダウンロードされていないと思われる場合は、Web GUI を介して手動でダウンロードし、ドロップ ボックスなどの別のホストにアップロードすることをお勧めします。次に、手順 1 を、ダンプが見つかる URL に置き換えます。
于 2014-11-17T17:53:30.497 に答える