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. 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!