PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

So erstellen Sie ein Build-System für PostgreSQL

Der Inhalt des "cmd" des Build-Systems array muss das sein, was Sie in der Befehlszeile eingeben würden, um diesen Befehl auszuführen - DBs sind keine Ausnahme. Ich weiß nichts über Postgres-Interna, aber wenn Sie den Namen der DB in der Befehlszeile angeben müssen, müssen Sie dies im Build-System tun.

Es gibt jedoch eine Alternative dazu, potenziell Dutzende von Build-Systemen herumliegen zu haben – das Definieren des Build-Systems in einem .sublime-project Datei. Gemäß der Dokumentation , das .sublime-project Datei kann drei Basisgruppen haben:"folders" , "settings" , und "build_systems" . Um ein Projekt zu erstellen, öffnen Sie die Ordner, die Sie in die Seitenleiste aufnehmen möchten, und klicken Sie dann auf Project -> Save Project As... . Geben Sie seinen Namen ein und speichern Sie ihn an einem logischen Ort. Wählen Sie dann Project -> Edit Project , wodurch das .sublime-project geöffnet wird Datei mit JSON-Syntax. Es sollte etwa so aussehen:

{
    "folders":
    [
        {
            "follow_symlinks": true,
            "path": "C:\\Users\\MattDMo\\Development\\DB\\my_postgres_db1"
            // by default, Sublime uses double-backslashes :(
        }
    ],
}

Fügen Sie ein "build_systems": hinzu Bezeichner nach der schließenden eckigen Klammer von "folders" , und geben Sie Ihr Build-System ein:

{
    "folders":
    [
        {
            "follow_symlinks": true,
            "path": "C:\\Users\\MattDMo\\Development\\DB\\my_postgres_db1"
        }
    ],
    "build_systems":
    [
        {
            "name": "my_postgres_db1",
            "cmd": ["C:/PostgreSQL/9.3/bin/psql.exe", "-W", "-U", "postgres", "-d", "my_postgres_db1", "-f", "$file"],
            // you can use either double backslashes or forward slashes on Windows. Forward is better :)
            "selector": "source.postgresql",
            "shell": true
        }
    ]
}

und du solltest fertig sein. Nachdem Sie nun Ihre Vorlage haben, können Sie so viele Kopien der Datei erstellen, wie Sie möchten, und den DB-Namen und den Namen des Build-Systems nach Bedarf anpassen. Der "name" wird in Tools -> Build System angezeigt Sie können es entweder direkt auswählen oder Automatic verwenden wenn Sie keine anderen Build-Systeme mit "selector": "source.postgresql" haben in ihnen.

Es erfordert ein wenig Arbeit für jede DB, die Sie haben, und Sie müssen daran denken, das aktive Projekt zu wechseln, wenn Sie DBs wechseln (ich lasse nur ein Fenster für jedes Projekt offen, das ich aktiv habe), aber ansonsten ist es so sollte dein Problem lösen. Sie werden feststellen, dass ich "env": {"PGPASSWORD": "password"}, entfernt habe Zeile (es hätte sowieso in eckigen Klammern stehen sollen) und fügte stattdessen das -W hinzu Befehlszeilenoption zu psql.exe um nach dem Passwort zu fragen. Es gibt keine Möglichkeit, .sublime-project zu verschlüsseln Dateien, sodass jeder, der sie lesen kann, das Passwort Ihres Servers sieht. Ich weiß nicht, ob ich "shell": true verwende Umgebungsvariablen Ihrer Shell importiert oder nicht, ich vermute, dass dies nicht der Fall ist, aber Sie müssen es testen. Es ist eine Sache, die Sie eingeben müssen, wenn Sie das Build-System ausführen, aber es wird Ihr Gesamtsystem sicherer machen. Natürlich können Sie jederzeit zurückkehren, wenn Sie die zusätzliche Sicherheit nicht wollen/benötigen, aber wenn es sich um einen öffentlich zugänglichen Server handelt, würde ich das nicht tun.

Viel Glück!