sql >> Database teknologi >  >> RDS >> PostgreSQL

Sådan laver du et byggesystem til PostgreSQL

Indholdet af byggesystemets "cmd" array skal være det, du ville skrive på kommandolinjen for at køre den kommando - DB'er er ingen undtagelse. Jeg ved ikke noget om Postgres internals, men hvis du skal angive DB'ens navn på kommandolinjen, så skal du gøre det i byggesystemet.

Der er dog et alternativ til at have potentielt snesevis af byggesystemer liggende - definere byggesystemet i et .sublime-projekt fil. Ifølge dokumentationen , .sublime-projektet fil kan have tre basisgrupper:"mapper" , "indstillinger" , og "build_systems" . For at oprette et projekt skal du åbne den eller de mapper, du vil inkludere i sidebjælken, og derefter klikke på Projekt -> Gem projekt som... . Indtast dets navn og gem det et logisk sted. Vælg derefter Projekt -> Rediger projekt , som åbner .sublime-project fil med JSON-syntaks. Det skulle se sådan ud:

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

Tilføj en "build_systems": identifikator efter den afsluttende firkantede parentes fra "mapper" , og indsæt dit byggesystem:

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

og du burde være klar. Nu hvor du har din skabelon, kan du lave så mange kopier af filen, som du vil, ved at tilpasse DB-navnet og byggesystemnavnet efter behov. "navn" feltet vises i Værktøjer -> Byg system menuen, og du kan enten vælge den direkte eller bruge Automatisk hvis du ikke har andre byggesystemer med "selector":"source.postgresql" i dem.

Det indebærer en lille smule arbejde for hver DB, du har, og du skal huske at skifte det aktive projekt, når du skifter DB'er (jeg holder bare et vindue åbent for hvert projekt, jeg har aktivt), men bortset fra det skal løse dit problem. Du vil bemærke, at jeg fjernede "env":{"PGPASSWORD":"password"}, linje (det burde i hvert fald have stået i firkantede parenteser) og i stedet tilføjet -W kommandolinjeindstilling til psql.exe for at bede om adgangskoden. Der er ingen måde at kryptere .sublime-project på filer, så alle, der kan læse dem, vil se din servers adgangskode. Jeg ved ikke, om jeg bruger "shell":true importerer din shells miljøvariabler eller ej, det formoder jeg ikke, men du bliver nødt til at teste. Det vil være én ting at indtaste, når du kører byggesystemet, men det vil gøre dit overordnede system mere sikkert. Selvfølgelig er du velkommen til at vende tilbage, hvis du ikke ønsker/har brug for den ekstra sikkerhed, men hvis det er en offentlig server, ville jeg ikke.

Held og lykke!



  1. Sådan genereres scripts for at genskabe fremmednøglebegrænsninger i SQL Server-databasen - SQL Server / TSQL vejledning del 73

  2. sql join på to felter i én tabel

  3. T-SQL få antal arbejdsdage mellem 2 datoer

  4. SSIS Sådan får du en del af en streng med separator