sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur man gör byggsystem för PostgreSQL

Innehållet i byggsystemets "cmd" array måste vara vad du skulle skriva på kommandoraden för att köra det kommandot - DB är inget undantag. Jag vet inget om Postgres interna funktioner, men om du behöver ange DB:s namn på kommandoraden, måste du göra det i byggsystemet.

Det finns dock ett alternativ till att ha potentiellt dussintals byggsystem liggande - definiera byggsystemet i ett .sublime-project fil. Enligt dokumentationen , .sublime-project fil kan ha tre basgrupper:"folders" , "settings" och "build_systems" . För att skapa ett projekt, öppna mappen/mapparna du vill inkludera i sidofältet och klicka sedan på Project -> Save Project As... . Skriv in dess namn och spara det på en logisk plats. Välj sedan Project -> Edit Project , vilket öppnar .sublime-project fil med JSON-syntax. Det borde se ut ungefär så här:

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

Lägg till en "build_systems": identifierare efter den avslutande hakparentesen från "folders" , och sätt i ditt byggsystem:

{
    "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
        }
    ]
}

och du borde vara klar. Nu när du har din mall kan du göra så många kopior av filen du vill, anpassa DB-namnet och byggsystemnamnet efter behov. "name" fältet visas i Tools -> Build System menyn, och du kan antingen välja den direkt eller använda Automatic om du inte har några andra byggsystem med "selector": "source.postgresql" i dem.

Det innebär lite arbete för varje DB som du har, och du måste komma ihåg att byta det aktiva projektet när du byter DB:er (jag håller bara ett fönster öppet för varje projekt jag har aktivt), men förutom det borde lösa ditt problem. Du kommer att notera att jag tog bort "env": {"PGPASSWORD": "password"}, rad (det borde ha stått inom hakparenteser, i alla fall) och istället lagt till -W kommandoradsalternativ till psql.exe för att fråga efter lösenordet. Det finns inget sätt att kryptera .sublime-project filer, så att alla som kan läsa dem kommer att se din servers lösenord. Jag vet inte om jag använder "shell": true importerar ditt skals miljövariabler eller inte, jag misstänker att det inte gör det, men du måste testa. Det är en sak att ange när du kör byggsystemet, men det kommer att göra ditt övergripande system säkrare. Naturligtvis, återvänd gärna om du inte vill ha/behöver den extra säkerheten, men om det är en server som vänder sig till allmänheten skulle jag inte göra det.

Lycka till!



  1. Hur installerar man node-oracledb-modul på AWS centos6 via kommandoraden?

  2. Hur man kontrollerar om posten finns med Python MySQdb

  3. Undantagshantering i pl/sql

  4. Saltar mina hash med PHP och MySQL