Isi "cmd"
sistem pembangunan array harus menjadi apa yang akan Anda ketik pada baris perintah untuk menjalankan perintah itu - DB tidak terkecuali. Saya tidak tahu apa-apa tentang internal Postgres, tetapi jika Anda perlu menentukan nama DB pada baris perintah, maka Anda harus melakukannya di sistem build.
Namun, ada alternatif untuk memiliki lusinan sistem build yang berpotensi tergeletak di sekitar - mendefinisikan sistem build dalam .sublime-project
mengajukan. Menurut dokumentasi
, .sublime-project
file dapat memiliki tiga grup dasar:"folders"
, "settings"
, dan "build_systems"
. Untuk membuat proyek, buka folder yang ingin Anda sertakan di bilah sisi, lalu klik Project -> Save Project As...
. Masukkan namanya dan simpan di tempat yang logis. Kemudian, pilih Project -> Edit Project
, yang akan membuka .sublime-project
file dengan sintaks JSON. Seharusnya terlihat seperti ini:
{
"folders":
[
{
"follow_symlinks": true,
"path": "C:\\Users\\MattDMo\\Development\\DB\\my_postgres_db1"
// by default, Sublime uses double-backslashes :(
}
],
}
Tambahkan "build_systems":
pengenal setelah tanda kurung siku penutup dari "folders"
, dan masukkan ke dalam sistem build Anda:
{
"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
}
]
}
dan Anda harus siap. Sekarang setelah Anda memiliki template, Anda dapat membuat salinan file sebanyak yang Anda inginkan, menyesuaikan nama DB dan membangun nama sistem sesuai kebutuhan. "name"
akan muncul di Tools -> Build System
menu, dan Anda dapat memilihnya langsung, atau menggunakan Automatic
jika Anda tidak memiliki sistem build lain dengan "selector": "source.postgresql"
di dalamnya.
Itu memang melibatkan sedikit pekerjaan untuk setiap DB yang Anda miliki, dan Anda harus ingat untuk mengganti proyek aktif saat mengganti DB (saya hanya membuka satu jendela untuk setiap proyek yang saya aktif), tetapi selain itu harus menyelesaikan masalah Anda. Anda akan melihat bahwa saya menghapus "env": {"PGPASSWORD": "password"},
baris (seharusnya dalam tanda kurung siku) dan sebagai gantinya menambahkan -W
opsi baris perintah ke psql.exe
untuk meminta kata sandi. Tidak ada cara untuk mengenkripsi .sublime-project
file, sehingga siapa pun yang dapat membacanya akan melihat kata sandi server Anda. Saya tidak tahu apakah menggunakan "shell": true
mengimpor variabel lingkungan Shell Anda atau tidak, saya kira tidak, tetapi Anda harus mengujinya. Ini akan menjadi satu hal yang harus dimasukkan saat menjalankan sistem pembangunan, tetapi itu akan membuat sistem Anda secara keseluruhan lebih aman. Tentu saja, silakan kembali jika Anda tidak menginginkan/membutuhkan keamanan ekstra, tetapi jika itu adalah server yang menghadap publik, saya tidak akan melakukannya.
Semoga berhasil!