Frage

ich Setup eine Fernverbindung vor Ort und müssen es Heroku schieben. Als ich es Heroku gedrückt bekam ich eine Fehlermeldung, dass:

RemoteDBName nicht konfiguriert ist.

Ich gehe davon nur (auch gesucht und Säge) Heroku verwendet ihre eigene config.yml Datei.

War es hilfreich?

Lösung

Figured dies aus, für jemanden zu einer entfernten Datenbank auf Heroku verbinden, die das sehen könnte:

Heroku ersetzt Ihre database.yml Datei mit ihrer eigenen, in Ihnen das Überschreiben etwas.

Um dies zu umgehen:

  • Erstellen Sie eine neue Datei in Ihrem Ordner config, name it whatever.yml
  • Setup die Verbindungszeichenfolge in dieser Datei.
  • Erstellen Sie eine neue Datei in Ihrem initializers Ordner, rief ich meinen load_remote.rb. In dieser Datei diese Zeile Code schreiben:

    REMOTE_DB = YAML.load_file ( "# {} RAILS_ROOT /config/YOURNEWFILEHERE.yml")

  • Ihre Verbindung in einem der Fern Modelle Stellen Sie mit dieser Codezeile:

    establish_connection Remote_DB [ 'Was auch immer Sie Ihre Verbindungszeichenfolge in der Datei yml hier genannte']

Andere Tipps

Lassen Sie mich Ihnen zeigen, wie Datenbank-Konfiguration durchgeführt wird, wenn Sie mit Heroku arbeiten. Ich denke, das könnte etwas vage in der Dokumentation sein, einige Leute über sie verwirrt. Lets nutzt die Konsole:

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
>>

Heroku in der Praxis ersetzt Ihre Anwendungen database.yml, wenn Sie Ihre Website auf ihren Servern schieben. Ihre Daten werden in einer ihrer Phantasie PostgreSQL-Server, egal gespeichert werden, was Sie vor Ort nutzen - dies bedeutet, dass Sie müssen nicht über database.yml denken an alle (mit Ausnahme der Entwicklung purpses, natürlich). Taps stellt sicher, dass alles db Agnostiker. Wenn Sie db Heroku Ihre neueste Entwicklung schieben wollen, einfach laufen Heroku db: push

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top