私はローカルにリモート接続をセットアップしてherokuにプッシュする必要があります。私がヒロクにプッシュしたとき、私はエラーが出てきました。にherokus ymlファイルを編集する方法があります
RemoteDBNameが設定されていません。
私はherokuが独自のconfig.ymlファイルを使用していると仮定しています。誰もがこれを見るかもしれないHerokuの上のリモート・データベースに接続するため、これを考え出し
私はローカルにリモート接続をセットアップしてherokuにプッシュする必要があります。私がヒロクにプッシュしたとき、私はエラーが出てきました。にherokus ymlファイルを編集する方法があります
RemoteDBNameが設定されていません。
私はherokuが独自のconfig.ymlファイルを使用していると仮定しています。誰もがこれを見るかもしれないHerokuの上のリモート・データベースに接続するため、これを考え出し
:
Herokuのはあなたに何かを上書きし、自分自身とあなたのdatabase.ymlのファイルを置き換えます。この問題を回避するには
:
initializersフォルダに新しいファイルを作成しましたが、私はload_remote.rbという名前を付けました。このファイル内のコード行を記述:
REMOTE_DB = YAML.load_file(「#{RAILS_ROOT} /config/YOURNEWFILEHERE.yml」)
この線とリモートモデルのいずれかで接続を確立しますコード:
establish_connection [「あなたはここにYMLファイルに接続文字列を名前のどのような」] REMOTE_DB
私はあなたがHerokuので作業するときにデータベース構成がどのように行われるかをお見せしましょう。私はこれがドキュメンテーションの中で少し曖昧であるかもしれないと思っている人もいます。
zero:~/Projects/crantastic $ heroku console
Ruby console for crantastic.heroku.com
>> puts File.read(Rails.configuration.database_configuration_file)
---
production:
encoding: unicode
adapter: postgresql
username: something_random
port: 5432
host: somewhere.at.heroku
database: something_random
password: something_random
=> nil
>>
実際には、自分のサイトをサーバーにプッシュすると、ヘロクがアプリのdatabase.ymlを置き換えます。あなたのデータは、あなたがローカルで使っているものに関わらず、派手なPostgreSQLサーバの1つに保存されます。つまり、database.ymlについて考える必要はありません。タップは、すべてがdbにとらわれないことを確認します。最新の開発DBをHerokuにプッシュしたい場合は、単にheroku dbを実行してください: