3

OSX 10.10 で boot2docker を実行しています。コンテナーを開始/停止するたびにデータベースがリセットされないように、データベース コンテナーをセットアップしています。postgres データベースのダンプを heroku から docker データベースにインポートしたいと考えています。これは可能ですか?

4

1 に答える 1

10

同僚の助けを借りて、これを見つけることができました。通常の古い postgres データベースよりも少し難しいですが、大したことではありません。これは、このスタックオーバーフローの回答に基づいています。

  1. heroku データベース ダンプのダウンロード URL を生成します。heroku pgbackups:url
  2. postgres コンテナーで bash シェルを開始します。私のシステムでは、このコンテナの名前は次のpgとおりです。fig run db bash
  3. カールをインストールします。apt-get update && apt-get install curl
  4. curl を使用してデータベース ダンプをダウンロードします。curl -o latest.dump [PASTE THE OUTPUT OF STEP 1 HERE]
  5. ダンプをインポートします (データベース名とユーザー名は、それぞれ 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 に答える