2016-01-28 4 views
13

Ich habe eine externe Datenbank bereit und möchte jetzt diese Datenbank mit meiner Heroku-App verwenden. Aber ich kann die Konfigurationsvariablen nicht bearbeiten. Ich habe versucht, GUI zu verwenden, die besagt, kann die Anlage Werte DATABASE_URL nicht überschreiben. Während ich versuchte, CLI auch zu verwenden. Ich habe den Befehl verwendet: heroku config: addDATABASE_URL = "postgresql: // benutzername: password @ IP: PORT". Dies löst jedoch einen Fehler aus ........ ist kein heroku-Befehl.So ändern Sie DATABASE_URL für eine Heroku-Anwendung

+0

meine schlechte, Tippfehler beim Bearbeiten. Es gab ein '=' im Befehl btw, aber es hat nicht funktioniert –

+0

Bitte schreiben Sie die gesamte Ausgabe der Fehlermeldung. Die 'heroku config: add VAR =" VAL "sollte definitiv funktionieren. – eugen

+0

Konfiguration vars und Neustart * app-name * ... done VAR: –

Antwort

1

Gelöst es. Nur für die Referenz der Benutzer, die das gleiche Problem haben oder eine ähnliche Implementierung wünschen. Hier ist der Workaround, der für mich funktioniert hat.

Heroku nicht mehr überschreibt databse.yml, so dass ich verändert nur die DATBASE_URL im database.yml und schob es :)

Auch sie hat funktioniert!

Quelle: https://discussion.heroku.com/t/rails-4-1-database-yml-no-longer-overwritten-on-heroku/550

+0

Der Link funktioniert nicht mehr, können Sie uns ein Beispiel für database.yml geben und wo diese Datei ablegen? – jcstritt

+0

Gehen Sie einfach zu Heroku Dashboard> Datenbanken> löschen Sie die Datenbank; Komm zurück zu config/database.yml gib die Details der Datenbank ein. Wie folgt https: //gist.github.com/pbssubhash/705dfb538aea75ee9ab3 Es wird jedoch nicht empfohlen, die Werte fest zu codieren, bis wir einen besseren finden, dem Sie folgen können. Kommentiere hier wenn du noch Probleme hast, ich werde dir gerne weiterhelfen @ jcstrat –

+1

Also hast du deine database.yml in die Quellcodeverwaltung geschoben? –

2

Als explained in this article, die korrekte Syntax zu setzen/eine Konfigurationsvariable hinzufügen, ist

$ heroku config:set DATABASE_URL="postgresql://username:[email protected]:PORT" 

Aber es sieht so aus (die Kommentare sehen) die DATABASE_URL ist veraltet und versucht, es zu aktualisieren, wird einen Fehler auslösen.

+0

Hey, wirft mir einen Fehler Kann Anlage Werte DATABASE_URL nicht überschreiben. –

+0

Gelöst es :) Danke für Ihre Zeit: D –

+0

Was war das Problem? –

16

Nachdem die meisten diese Antworten auszuprobieren, stieß ich auf ein Update im Jahr 2016, here: die Datenbank getrennt werden muss, zuerst, dann die Variable des DATABASE_URL aktualisieren.

heroku addons:attach heroku-postgresql -a <app_name> --as HEROKU_DATABASE 
heroku addons:detach DATABASE -a <app_name> 
heroku config:add DATABASE_URL= 
+4

+1 Die aktuelle Datenbank musste vor dem Festlegen von 'DATABASE_URL' getrennt werden. Dies bei der Migration von Heroku Postgres zu RDS auf AWS. – Pattay

4

Eine alternative Methode, die keine Ablösung erfordert (die nicht das gewünschte Ergebnis des Schalters sein kann), besteht darin, einfach die neue Datenbank anzuhängen und dann zu promoten, was die Heroku Documents ausdrücklich als eine Möglichkeit angibt, die DATABASE_URL festzulegen.

heroku addons:attach heroku-postgresql -a <app_name> 
heroku pg:promote heroku-postgresql -a <app_name> 
Verwandte Themen