Zawartość "cmd"
systemu kompilacji tablica musi być tym, co wpiszesz w wierszu poleceń, aby uruchomić to polecenie - bazy danych nie są wyjątkiem. Nie wiem nic o elementach wewnętrznych Postgresa, ale jeśli musisz podać nazwę bazy danych w wierszu poleceń, musisz to zrobić w systemie budowania.
Istnieje jednak alternatywa dla potencjalnie dziesiątek systemów kompilacji leżących wokół - zdefiniowanie systemu kompilacji w .sublime-project
plik. Według dokumentacji
, .sublime-project
plik może mieć trzy grupy bazowe:"folders"
, "settings"
i "build_systems"
. Aby utworzyć projekt, otwórz foldery, które chcesz umieścić na pasku bocznym, a następnie kliknij Project -> Save Project As...
. Wpisz jego nazwę i zapisz w logicznym miejscu. Następnie wybierz Project -> Edit Project
, co otworzy .sublime-project
plik ze składnią JSON. Powinno to wyglądać mniej więcej tak:
{
"folders":
[
{
"follow_symlinks": true,
"path": "C:\\Users\\MattDMo\\Development\\DB\\my_postgres_db1"
// by default, Sublime uses double-backslashes :(
}
],
}
Dodaj "build_systems":
identyfikator po zamykającym nawiasie kwadratowym z "folders"
i wstaw system kompilacji:
{
"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
}
]
}
i powinieneś być gotowy. Teraz, gdy masz już swój szablon, możesz wykonać dowolną liczbę kopii pliku, dostosowując nazwę bazy danych i nazwę systemu budowania zgodnie z potrzebami. "name"
pole pojawi się w Tools -> Build System
menu i możesz wybrać go od razu lub użyć Automatic
jeśli nie masz innych systemów kompilacji z "selector": "source.postgresql"
w nich.
Wymaga to trochę pracy dla każdego DB, który masz, i będziesz musiał pamiętać, aby przełączyć aktywny projekt podczas przełączania DB (po prostu otwieram jedno okno dla każdego aktywnego projektu), ale poza tym to powinien rozwiązać twój problem. Zauważysz, że usunąłem "env": {"PGPASSWORD": "password"},
(w każdym razie powinna być w nawiasach kwadratowych) i zamiast tego dodano -W
opcja wiersza poleceń do psql.exe
aby poprosić o hasło. Nie ma możliwości zaszyfrowania .sublime-project
plików, więc każdy, kto może je odczytać, zobaczy hasło do Twojego serwera. Nie wiem czy używam "shell": true
importuje zmienne środowiskowe twojej powłoki, czy nie, podejrzewam, że nie, ale będziesz musiał przetestować. To będzie jedna rzecz, którą należy wprowadzić podczas uruchamiania systemu kompilacji, ale zwiększy to bezpieczeństwo całego systemu. Oczywiście możesz przywrócić, jeśli nie chcesz/potrzebujesz dodatkowych zabezpieczeń, ale jeśli jest to serwer publiczny, nie zrobiłbym tego.
Powodzenia!