Client SurrealDB cho Mac
Đăng nhập đúng cấp mà user của bạn được định nghĩa, chạy script SurrealQL, và sửa record theo từng field, với record link, datetime và decimal giữ nguyên kiểu của chúng.
Dùng được trên MacDriver được tải về ở lần đầu bạn chọn SurrealDB


Tóm tắt
- Ngôn ngữ query
- SurrealQL
- Driver
- Tải về ở lần dùng đầu
- Cách kết nối
- Host và port, SSH tunnel, SSL/TLS
- Port mặc định
- 8000
- Phiên bản tối thiểu
- 2.0, bắt buộc: server cũ hơn bị từ chối
- iPhone và iPad
- Không mở được
Kết nối và đăng nhập
SurrealDB không đoán được từ thông tin đăng nhập rằng user được định nghĩa ở cấp nào, nên Cấp xác thực (Auth Level) phải nêu rõ cấp đó, và form sẽ hỏi phần còn lại. Root cần tên người dùng và mật khẩu, Namespace cần thêm namespace, Database cần thêm cả cơ sở dữ liệu. Record Access cần namespace, cơ sở dữ liệu, phương thức truy cập trong DEFINE ACCESS và các ô đăng nhập của nó. Token nhận một JWT bạn đã có, kể cả token của SurrealDB Cloud.
Driver trao đổi CBOR qua endpoint HTTP RPC, nên record link, datetime, duration, decimal và UUID giữ nguyên kiểu. Liên kết surrealdb:// mở form connection đã điền sẵn, và server ở xa có thể kết nối qua SSH tunnel.
SSL mặc định là Đã tắt (Disabled), tức HTTP thường; mọi chế độ khác dùng HTTPS. Xác minh CA (Verify CA) và Xác minh danh tính (Verify Identity) kiểm tra chứng chỉ theo kho tin cậy của hệ thống, còn file CA đặt trong phần SSL/TLS sẽ bị bỏ qua, nên hãy cài CA riêng vào macOS trước.
SurrealQL và record
Editor chạy nguyên cả script SurrealQL, kể cả lệnh RELATE giữa hai record, có autocomplete cho các câu lệnh thông dụng. Explain và Explain Full chạy lại query hiện tại với EXPLAIN để cho thấy query được xử lý thế nào và có dùng index hay không; plan trả về dưới dạng text thô.
Namespace nằm ở tầng trên cùng của sidebar, cơ sở dữ liệu nằm bên trong. Đổi namespace hay cơ sở dữ liệu đều không phải kết nối lại, vì hai giá trị này đi kèm từng request. Chỉ user root mới thấy mọi namespace.
Sửa một ô sẽ chạy UPDATE chỉ đặt lại những field bạn đã chạm vào, dưới dạng tham số có kiểu, nên int vẫn là int, còn field tính toán FUTURE và thay đổi của người khác được giữ nguyên. Để trống id ở dòng mới để SurrealDB tự sinh, hoặc nhập table:id. Table SCHEMALESS lấy cột từ các record đã tải về.
Bộ lọc được chuyển thành SurrealQL, và dòng SQL thô (Raw SQL) nhận một điều kiện, chẳng hạn một phép duyệt đồ thị. Điều kiện có thao tác ghi, có ; hay comment, hoặc gọi vào fn:: hay http:: sẽ bị từ chối; hãy chạy nó trong editor.
Structure
Tab Structure chỉ đọc. Hãy tạo và sửa field, index bằng DEFINE FIELD và DEFINE INDEX trong editor. Namespace hay cơ sở dữ liệu được xóa từ menu của nó, và khi chọn nhiều mục, bạn chỉ phải xác nhận một lần cho tất cả.
Di chuyển dữ liệu
TablePro không có import cho SurrealDB. Bạn có thể export table hoặc kết quả query ra CSV, JSON hoặc XLSX.
iPhone và iPad
Ứng dụng cho iPhone và iPad không có driver SurrealDB. Connection SurrealDB đồng bộ từ máy Mac vẫn hiện trong danh sách nhưng không mở được.
Giới hạn
- SurrealQL không được tô sáng cú pháp trong editor.
- Không hỗ trợ live query. Hãy chạy lại query để thấy record mới.
Câu hỏi về SurrealDB
Tôi có chạy transaction được không?
Được, trong phạm vi một query. HTTP RPC không mang transaction từ request này sang request khác, nên hãy gửi BEGIN TRANSACTION; … COMMIT TRANSACTION; trong cùng một query của editor.
Làm sao đổi in hoặc out của một relation?
Không làm được từ data grid: thao tác lưu dừng lại, nêu tên field và giữ mọi thay đổi ở trạng thái chờ lưu. UPDATE cũng không di chuyển được relation, nên hãy xóa nó rồi RELATE cặp mới.
Tải TablePro
Yêu cầu macOS 13 Ventura trở lên