Ich schreibe gerade ein Tutorial über das Einrichten von Wordpress auf Heroku. Im Moment verwende ich das ClearDB
Add-on, das automatisch eine CLEARDB_DATABASE_URL
ENV Variable setzt. Ist es möglich, die Variable ENV
durch Heroku als DATABASE_URL
zu aliasieren?Ist es möglich, Variablen auf Heroku zu konfigurieren?
Antwort
Ich bin nicht sicher, ob diese Informationen hilfreich für jedermann sein wird, aber nur für den Fall:
Diese Frage beinhaltet eine eroneous Behauptung. Das ClearDB-Add-On legt eine CLEARDB_DATABASE_URL ENV-Variable nicht fest. Das ClearDB-Add-On erstellt eine CLEARDB_DATABASE_URL-Konfigurationsvariable. Beim Start der App wird aus der Konfigurationsvariable eine ENV-Variable erstellt. Diese beiden Variablen sind unterschiedlich und könnten sogar unterschiedliche Werte haben, wenn Sie die ENV-Variable in Ihrer Codebasis geändert haben.
Natürlich können Sie innerhalb Ihrer Codebasis mit den ENV-Variablen machen, was Sie wollen.
Ob config vars auf andere config vars oder andere ENV-Variablen verweisen kann oder umgekehrt - ich weiß es nicht. Aber das wäre sicherlich ziemlich hacky, und entgegen der beabsichtigten Verwendung, und richtige Kodierungspraxis und sozial verantwortliches Verhalten.
Es ist nicht möglich, eine Konfigurationsvariable als Alias zu bezeichnen oder sich gegenseitig zu bezeichnen. Ich fragte eine ähnliche Frage, und das ist, was sie gesagt:
ich Angst habe, dass Config Variablen nicht miteinander in dieser Art und Weise beziehen, wie sie eine Sammlung von Namen und Werte einfach sind, ohne Interpolation oder Berechnung für die Werte verfügbar.
Vielleicht möchten Sie versuchen, eine profile Datei ...
- 1. Ist es möglich, den PC als Webspeicher zu konfigurieren?
- 2. Ist es möglich, mehrere Prozesse auf einem Heroku-Prüfstand auszuführen?
- 3. Ist es möglich, ELMAH komplett im Code zu konfigurieren?
- 4. API Subdomain für Heroku App, ist es möglich?
- 5. Ist es möglich, Variablen in JavaScript zu ändern? (Node.js)
- 6. Ist es nicht möglich, document.domain auf herokuapp.com zu setzen? Wie?
- 7. ist es möglich, Variablen im Remote-SSH-Befehl zu verwenden?
- 8. Ist es möglich, einen einzelnen Rails-Befehl auf Heroku ohne 'heroku run console' auszuführen?
- 9. Ist es möglich, Variablen als dom-Elemente zu verwenden?
- 10. Ist es möglich, globale Variablen in Rust zu verwenden?
- 11. Ist es möglich, Variablen prozedural mit Rust-Makros zu deklarieren?
- 12. Konfigurieren von Unicorn & Sidekiq korrekt auf Heroku
- 13. Ist es möglich, Variablen zur Laufzeit zu beobachten?
- 14. Ist es möglich, Variablen in eine Staub-Datei zu importieren
- 15. Ist es möglich, temporäre Variablen in C++ explizit zu instanziieren?
- 16. Ist es möglich, Variablen für Sammlungsnamen mit Pymongo zu verwenden?
- 17. Ist es möglich, Variablen in einer ClearCase-Konfigurationsspezifikation zu verwenden?
- 18. Ist es möglich, Variablen zu einem Schnurrbart passiert Teil
- 19. Ist es möglich, GROUP BY mit Bind-Variablen zu verwenden?
- 20. Wie mongoid 1.9.2 auf heroku konfigurieren?
- 21. Ist es möglich, eine Heroku App ohne Neustart einige Prozesstypen
- 22. Ist es sicher, Django geheime Variablen in der settings.py auf Heroku zu speichern?
- 23. Ist es möglich, den Quellcode von heroku abzurufen?
- 24. Ist es möglich, mit mehreren Web-Nebenläufern die Worker-Nummer auf Heroku zu erhalten?
- 25. Ist es möglich, eine React Native App auf Heroku zu implementieren?
- 26. Ist es möglich, die Protokollierung so zu konfigurieren, dass sie auch auf die Standardausgabe ausgegeben wird?
- 27. Ist es möglich, nbviewer lokal zu hosten?
- 28. Ist es möglich, VS2010 so zu konfigurieren, dass es immer als Administrator ausgeführt wird?
- 29. Ist es möglich, den spring.net Cache deklarativ zu konfigurieren, statt Attribute zu verwenden?
korrigiert mich wenn ich falsch liege, aber das klingt wie eine Unterscheidung ohne Unterschied; Ihr Code muss noch auf 'ENV [CLEARDB_DATABASE_URL] 'verweisen. Wenn Sie Ihren eigenen Namen (z. B. DB_URL) verwenden möchten, um Vendor-Lockin zu verhindern, macht das Umgebungsvariablen-Konzept das sehr schwierig. Missverständnis ich es? –
Ich sehe die Schwierigkeit nicht. Sie könnten einen Initialisierer mit folgendem erstellen: '' 'ENV ['DATABASE_URL'] = ENV ['CLEARDB_DATABASE_URL']' ''. Jetzt können Sie in Ihrer App auf '' 'ENV ['DATABASE_URL']' '' verweisen. Das OP fragte jedoch, wie man das Äquivalent "durch Heroku" macht. Es schien einige Missverständnisse zu geben, die die Probleme verschleierten, die ich zu klären versuchte. – laertiades
Richtig, aber das bedeutet immer noch, dass Sie im Wesentlichen Umgebungsdetails in Ihrem Code (das bestimmte DB-Plugin) einschließen, die möglicherweise nicht gelten, wenn Sie es beispielsweise an einem anderen Ort als Heroku bereitstellen würden. Nicht das Ende der Welt, natürlich, aber es bindet deinen Code an Heroku. –