Ich benutze das Node-Postgres-Paket, um eine postgresql / postgis-Datenbank nach einer App abzufragen, die ich innerhalb des Sails.js-Frameworks erstelle.
Ich weiß nicht, wo der beste Ort zum Speichern meiner Verbindungszeichenfolge für das Node-Postgres-Paket wäre, es in Modellen und Controllern zugänglich zu machen, aber immer noch sicher.
Wenn ich beispielsweise eine Abfrage für die Postgres-Datenbank innerhalb eines Modells ausführen möchte, mache ich Folgendes:
var conString = "postgres://postgres:mypass@localhost:5432/myapp_dev";
var client = new pg.Client(conString);
client.connect();
var junk = [];
client.query("SELECT * FROM junk", function (err, result) {
// Stuff I do with the query result
});
Offensichtlich ist es eine schlechte Übung, diesen Connectionstring und den neuen Client jedes Mal zu deklarieren, wenn ich eine Abfrage ausführen muss. Also möchte ich Folgendes tun können:
client.connect();
var junk = [];
client.query("SELECT * FROM junk", function (err, result) {
// Stuff I do with the query result
});
Also habe ich nur die ConString und neue Client-Deklarationen entfernt. Aber ich weiß nicht wo in meiner App diese zu speichern, um sie zugänglich und sicher zu machen.
Meine Verzeichnisstruktur folgt der Standard-Sails.js-Anwendungsstruktur, ähnlich der folgenden: http://runnable.com/UlbJJhdpQyoWAAAK/sails-js-example-project-for-node-js-and-webserver
Jede Hilfe wäre willkommen
Antworten:
2 für die Antwort № 1In sails.js können Sie in config / env / development.js oder config / env / production.js umgebungsspezifische Konfigurationen festlegen.
Speichern Sie alle vertraulichen Informationen immer in Umgebungsvariablen und niemals in Konfigurationsdateien. Ihre Konfigurationsdatei würde also eine env Variable namens POSTGRES_CONNECTION
so:
process.env.POSTGRES_CONNECTION
0 für die Antwort № 2
Für jeden, der sich mit der gleichen Frage abmüht, würde ich empfehlen, Ihre Sails-Datenbankadapterdefinitionen in der local.js-Datei zu speichern.
Sehen Sie die Lösung hier für ein Beispiel: Verwenden von local.js zum Speichern von sails-mysql-Passwort