Nội dung của "cmd"
của hệ thống xây dựng mảng cần phải là những gì bạn sẽ nhập trên dòng lệnh để chạy lệnh đó - DB cũng không ngoại lệ. Tôi không biết gì về nội bộ Postgres, nhưng nếu bạn cần chỉ định tên của DB trên dòng lệnh, thì bạn sẽ phải làm điều đó trong hệ thống xây dựng.
Tuy nhiên, có một giải pháp thay thế là có hàng tá hệ thống xây dựng nằm xung quanh - xác định hệ thống xây dựng trong .sublime-project
tập tin. Theo tài liệu
, .sublime-project
tệp có thể có ba nhóm cơ sở:"folders"
, "settings"
và "build_systems"
. Để tạo một dự án, hãy mở (các) thư mục bạn muốn đưa vào thanh bên, sau đó nhấp vào Project -> Save Project As...
. Đặt tên của nó và lưu nó ở một nơi hợp lý. Sau đó, chọn Project -> Edit Project
, sẽ mở ra .sublime-project
tệp với cú pháp JSON. Nó sẽ trông giống như thế này:
{
"folders":
[
{
"follow_symlinks": true,
"path": "C:\\Users\\MattDMo\\Development\\DB\\my_postgres_db1"
// by default, Sublime uses double-backslashes :(
}
],
}
Thêm "build_systems":
mã định danh sau dấu ngoặc vuông đóng từ "folders"
và đưa vào hệ thống xây dựng của bạn:
{
"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
}
]
}
và bạn sẽ được hoàn thành. Bây giờ bạn đã có mẫu của mình, bạn có thể tạo bao nhiêu bản sao của tệp tùy thích, tùy chỉnh tên DB và tên hệ thống xây dựng nếu cần. "name"
sẽ hiển thị trong trường Tools -> Build System
và bạn có thể chọn hoàn toàn hoặc sử dụng Automatic
nếu bạn không có bất kỳ hệ thống xây dựng nào khác với "selector": "source.postgresql"
trong họ.
Nó thực sự liên quan đến một chút công việc cho mỗi DB mà bạn có và bạn sẽ phải nhớ chuyển đổi dự án đang hoạt động khi chuyển đổi các DB (tôi chỉ giữ một cửa sổ mở cho mỗi dự án tôi đang hoạt động), nhưng khác với điều đó nên giải quyết vấn đề của bạn. Bạn sẽ lưu ý rằng tôi đã xóa "env": {"PGPASSWORD": "password"},
dòng (dù sao thì nó cũng phải nằm trong dấu ngoặc vuông) và thay vào đó đã thêm -W
tùy chọn dòng lệnh thành psql.exe
để nhắc nhập mật khẩu. Không có cách nào mã hóa .sublime-project
các tệp, vì vậy bất kỳ ai có thể đọc chúng sẽ thấy mật khẩu máy chủ của bạn. Tôi không biết nếu sử dụng "shell": true
Nhập các biến môi trường của shell của bạn hay không, tôi nghi ngờ là không, nhưng bạn sẽ phải kiểm tra. Nó sẽ là một điều cần nhập khi chạy hệ thống xây dựng, nhưng nó sẽ làm cho hệ thống tổng thể của bạn an toàn hơn. Tất nhiên, hãy hoàn nguyên nếu bạn không muốn / cần bảo mật bổ sung, nhưng nếu đó là một máy chủ công khai thì tôi sẽ không.
Chúc bạn thành công!