2014-05-02 9 views

Antwort

0

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.

+0

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

+0

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

+1

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

2

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

Verwandte Themen