Heroku on Rails - ungültige DATABASE_URL

7

BEARBEITEN: Der allgemeine Hinweis ist, CEDAR Stack zu verwenden.

Ganz neu bei RoR, Gems, Heroku und Git. Folgendes Tutorial: Ссылка

Funktioniert reibungslos auf localhost, wenn bei Heroku bereitgestellt wurde ConnectionNotEstablished error , das wurde hier gelöst: Ссылка (BTW: demselben Tutorial folgend) Nach dem Ändern der Produktionsdatenbank in PostgreSQL < em> (gem 'pg') es erzeugt einen weiteren Fehler:

Live-Website besuchen

  

In der Anwendung ist ein Fehler aufgetreten und Ihre Seite konnte nicht sein   serviert. Bitte versuchen Sie es in einigen Augenblicken erneut.

     

Wenn Sie der Eigentümer der Anwendung sind, überprüfen Sie Ihre Protokolle auf Details.

Versuchte dies - Heroku-App ist abgestürzt und hat "Ungültige DATENBANK-URL" erhalten Beim Versuch, Heroku Rake db: migrieren - heroku rake db: migrate

%Vor%

heroku-Konsole

%Vor%

gemfile

%Vor%

Heroku-Protokolle

%Vor%

Art von stecken, bitte helfen (zeigen in die richtige Richtung)

Natürlich

%Vor%     
Michal Stefanow 28.12.2011, 18:42
quelle

6 Antworten

17

Sie müssen die Umgebungsvariable DATABASE_URL mit dem Pfad zu Ihrer Online-Postgres-Datenbank festlegen.

Versuchen Sie, heroku pg auszuführen. Wenn die Ausgabe ist "myapp hat keine Heroku-Postgresql-Datenbanken." dann müssen Sie zuerst das PostgreSQL-Add-on hinzufügen. Es erstellt eine Postgres-Datenbank für Sie auf Amazon AWS.

%Vor%

(Hobby-Basic ist der freie Plan)

Um die URL für Ihre neue Datenbank zu finden, führen Sie

aus %Vor%

Sie sollten eine Variable sehen, die mit HEROKU_POSTGRESQL beginnt. Kopiere seinen Wert (er sollte mit postgres:// beginnen und ihn benutzen um DATABASE_URL

zu setzen %Vor%     
rodrei 24.03.2013 16:03
quelle
3

Ich hatte genau das gleiche Problem. Es stellte sich heraus, dass ich keine Datenbank mit der App verknüpft hatte. Sie werden dies mit dem einfachen Befehl heroku config sehen - Sie sollten dort einige Datenbank-URLs sehen, die auf Amazon verweisen. zB:

%Vor%

Wie auch immer, Ich habe das behoben, indem ich eine brandneue App erstellt und bereitgestellt habe . Ich habe versucht, in den Konfigurationsbildschirmen herumzuprobieren, konnte das Problem jedoch nicht beheben.

Ich bin mir nicht sicher, ob dies die gleiche Ursache ist wie Ihre: Ich habe eine einfache Ruby-App erstellt, diese bereitgestellt und dann eine Rails-App erstellt. Ich hatte noch keine Datenbank, und ich frage mich, ob Heroku sich irgendwie für die erste Bereitstellung entschieden hat, dass ich keine Datenbank brauchte.

    
ndp 14.04.2012 03:31
quelle
2

Zunächst beginne ich mit der Übertragung Ihrer Anwendung auf den Cedar Stack - sie unterstützt Rails 3.1 sofort, ohne dass Sie herumspielen müssen.

Wenn Sie Ihre App über heroku create erstellen, tun Sie dies als

%Vor%

und dann wieder auf diesen Stack - Sie werden feststellen, dass Ihre Probleme verschwinden werden. Die Sache zu erinnern ist, fügen Sie "run" in Ihre Befehle, heroku run-Konsole, heroku run rake db: migrieren etc.

    
John Beynon 28.12.2011 19:10
quelle
2

Eine weitere Möglichkeit, DATABASE_URL in der Konfigurationsdatei zu setzen, besteht darin, den Befehl

auszuführen %Vor%

Die .._ COLOR_URL würde von der Ausführung von heroku config übernommen werden, wie von rodrei vorgeschlagen.

Siehe die Heroku-Dokumentation: Ссылка

    
efeder 15.01.2014 19:40
quelle
1

Bitte lesen Sie diesen Artikel:

ClearDB MySQL-Datenbank

Befehle:

  

heroku config

oder wenn Sie für ein Rails-Projekt mehrere heroku-Projekte verwenden

  

heroku config --app your_app_name

Datenbank-URL hinzufügen:

  

heroku config: set DATENBANK_URL = 'mysql: // adffdadf2341: [email protected]/heroku_db? reconnect = true'

Wenn Sie mysql2 verwenden, muss "gem" mysql durch mysql2 ersetzen

  

heroku config: set DATENBANK_URL = 'mysql2: // adffdadf2341: [email protected]/heroku_db? reconnect = true'

Ich hoffe, dass diese Konfigurationen für PostgreSQL, NoSQL-Datenbanken oder andere Datenbanken verwendet werden können.

    
d.danailov 25.04.2014 19:33
quelle
0

Können Sie bitte heroku config --long - (App-Name) eingeben. Bitte posten Sie Ergebnisse, insbesondere DATABASE_URL.

Benötige weitere Informationen. Stellen Sie auch sicher, dass Sie auf dem Zedernholzstapel sind, wie oben erwähnt.

    
Gabriel Rivera 28.12.2011 20:22
quelle