Съдържанието на "cmd"
на системата за компилация array трябва да бъде това, което бихте въвели в командния ред, за да изпълните тази команда - DBs не са изключение. Не знам нищо за вътрешните елементи на Postgres, но ако трябва да посочите името на DB в командния ред, тогава ще трябва да го направите в системата за изграждане.
Въпреки това, има алтернатива на потенциално десетки системи за изграждане, разположени наоколо - дефиниране на системата за изграждане в .sublime-project
файл. Според документация
, .sublime-project
файлът може да има три основни групи:"folders"
, "settings"
и "build_systems"
. За да създадете проект, отворете папката(ите), която искате да включите в страничната лента, след което щракнете върху Project -> Save Project As...
. Въведете името му и го запазете на логично място. След това изберете Project -> Edit Project
, което ще отвори .sublime-project
файл с JSON синтаксис. Трябва да изглежда по следния начин:
{
"folders":
[
{
"follow_symlinks": true,
"path": "C:\\Users\\MattDMo\\Development\\DB\\my_postgres_db1"
// by default, Sublime uses double-backslashes :(
}
],
}
Добавете "build_systems":
идентификатор след затварящата квадратна скоба от "folders"
и поставете във вашата система за компилиране:
{
"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
}
]
}
и трябва да сте готови. Сега, след като имате своя шаблон, можете да направите толкова копия на файла, колкото искате, като персонализирате името на DB и името на системата за компилиране според нуждите. "name"
ще се покаже в Tools -> Build System
меню и можете или да го изберете директно, или да използвате Automatic
ако нямате други компилиращи системи с "selector": "source.postgresql"
в тях.
Това наистина включва малко работа за всяка DB, която имате, и ще трябва да запомните да превключвате активния проект, когато превключвате DB (просто държа един прозорец отворен за всеки проект, който имам активен), но освен това трябва да реши проблема ти. Ще забележите, че премахнах "env": {"PGPASSWORD": "password"},
ред (все пак трябваше да е в квадратни скоби) и вместо това добави -W
опция на командния ред към psql.exe
за подкана за парола. Няма начин за шифроване на .sublime-project
файлове, така че всеки, който може да ги прочете, ще види паролата на вашия сървър. Не знам дали използвам "shell": true
импортира променливите на средата на вашата обвивка или не, подозирам, че не го прави, но ще трябва да тествате. Ще бъде едно нещо, което трябва да въведете, когато стартирате системата за изграждане, но това ще направи цялостната ви система по-сигурна. Разбира се, не се колебайте да се върнете, ако не искате/не се нуждаете от допълнителна сигурност, но ако това е публичен сървър, не бих го направил.
Успех!