0

データベースのコンテンツを Heroku にダウンロードして開発環境にインポートするために、どこかで見つけた bash スクリプトを微調整しています。

#!/bin/bash
heroku pgbackups:capture --expire --app testivate
file_path="db_$(date +%Y_%m_%d-%H_%M_%S).dump"
curl `heroku pgbackups:url --app testivate` > $file_path
pg_restore --verbose --clean --no-acl --no-owner -h localhost -U steven -d DATABASENAME $file_path

私の質問は、開発データベースの名前を見つけるために実行できるコマンドはありますか?

/config/database.yml私は持っています:

development:
  adapter: postgresql
  database: db/testivate_development
  pool: 5
  username: steven
  password: <redacted>
  host: localhost

私の名前のように、「steven」、「db/testivate_development」、および「testivate_development」を試しましたが、すべて「データベースが存在しません」というエラーが発生します。

4

2 に答える 2

0

pg:transfer heroku クライアント プラグインを使用することをお勧めします。https://github.com/ddollar/heroku-pg-transfer

これにより、次のことが可能になります。

heroku pg:transfer --from VIOLET 

プロジェクト フォルダーには、次を含む .env ファイルがあります。

DATABASE_URL=postgres://127.0.0.1/development_db_name

キャプチャを終了し、復元します。VIOLET は、Heroku の DB url の名前です (From heroku config。残りは自明です。

于 2013-03-28T10:10:35.720 に答える
0

https://devcenter.heroku.com/articles/heroku-postgresql

このページには、この情報を見つける方法を示すドキュメントがあります。Heroku は構成ファイルのデータベース名を使用しません。基本的にランダムな文字列である独自の名前とパスワードを作成します。

于 2013-03-28T10:11:38.553 に答える