/ / Node / Sails / Node-Postgres, bewährte Methode zum Speichern der Verbindungszeichenfolge - node.js, postgresql, Datenbankverbindung, sails.js

Knoten / Sails / Node-Postgres, bewährte Methode zum Speichern der Verbindungszeichenfolge - node.js, postgresql, Datenbankverbindung, sails.js

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 № 1

In 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