Kết nối data source
Thêm PostgreSQL, MySQL hoặc HTTP API, nhập kết nối riêng cho từng môi trường và thử kết nối trước khi dùng.
Data source là nơi action đọc và ghi dữ liệu: một cơ sở dữ liệu PostgreSQL, MySQL hoặc một HTTP API. Mỗi data source có kết nối riêng cho từng môi trường. Vì vậy, cùng một action chạy trên DB dev khi đang ở môi trường dev và chạy trên DB thật khi chuyển sang prod.
Vai trò cần có
Phần tiêu đề “Vai trò cần có”- Admin trở lên: thêm data source, nhập và sửa kết nối, xoá data source.
- Editor: xem danh sách, xem cấu hình (không thấy mật khẩu) và xem bảng, cột. Editor cần data source mới thì liên hệ admin của project.
Chi tiết: Vai trò.


Tạo data source
Phần tiêu đề “Tạo data source”- Vào Xây dựng > Data source, bấm Thêm data source.
- Nhập Tên và Slug, sau đó chọn Loại: PostgreSQL, MySQL hoặc HTTP API.
- Bấm Tạo. Trang chi tiết mở ra để nhập kết nối cho từng môi trường.
Nhập kết nối cho từng môi trường
Phần tiêu đề “Nhập kết nối cho từng môi trường”Kết nối luôn được nhập cho môi trường đang chọn trên thanh trên cùng. Để có kết nối cho prod, chuyển sang prod và lưu thêm một lần. Mỗi môi trường giữ config riêng, được lưu ở dạng mã hoá.
- Ở thẻ Config theo môi trường, điền Host, Port, Database, User, Password và Schema (mặc định
public). - Chọn SSL/TLS: Tắt, Bật, kiểm tra chứng chỉ (khuyến nghị) hoặc Bật, không kiểm tra chứng chỉ. Nếu DB dùng CA riêng, xem phần SSL/TLS bên dưới.
- Bấm Test config đang nhập để thử kết nối bằng giá trị vừa nhập. Khi kết nối thành công, trang hiện phiên bản DB và thời gian phản hồi.
- Bấm Lưu config, sau đó xác nhận Lưu vào tên môi trường.
- Lặp lại cho các môi trường khác (chuyển môi trường ở thanh trên cùng trước).
Các bước giống PostgreSQL, với các khác biệt sau:
- Hỗ trợ MySQL 8.0 trở lên.
- Không có ô Schema: với MySQL, database chính là schema.
- Không có ô Tên server trong chứng chỉ: MySQL luôn đối chiếu chứng chỉ của server với Host, nên Host phải là tên có trong chứng chỉ.
- Mỗi action trên MySQL chỉ được có một câu lệnh và không được tự viết câu điều khiển transaction (
BEGIN,COMMIT…). Hệ thống tự mở và đóng transaction. Xem Tạo action. - Client certificate được dùng khi user MySQL được khai báo
REQUIRE X509/SUBJECT.
- Ở thẻ Config HTTP theo môi trường, nhập Base URL. Không đặt username hay mật khẩu trong URL; truyền credential qua header.
- Nhập Host được phép (bắt buộc), mỗi dòng một host.
*.example.comkhớp các subdomain nhưng không khớpexample.com. - Tuỳ chọn: nhập Path prefix được phép, mỗi dòng một prefix bắt đầu bằng
/. Để trống thì cho phép mọi path. - Nếu API cần token, nhập Header cố định — tên và Header — giá trị. Giá trị header được coi là bí mật và không đọc lại được sau khi lưu. Để trống cả hai ô thì header đã lưu được giữ nguyên; lưu header mới sẽ thay toàn bộ header cũ.
- Bấm Lưu config và xác nhận, sau đó bấm Test config đã lưu.
Hiện chưa có loại action nào dùng data source HTTP. Data source HTTP lưu được config theo môi trường và thử kết nối được; action SQL chỉ chạy trên PostgreSQL và MySQL.


SSL/TLS và chứng chỉ PEM
Phần tiêu đề “SSL/TLS và chứng chỉ PEM”DB trên cloud thường bắt buộc TLS và dùng CA riêng (RDS, Cloud SQL, CA nội bộ). Khi chọn Bật, kiểm tra chứng chỉ (khuyến nghị), khối TLS hiện ra:
- CA (PEM): chứng chỉ CA để xác thực server, ví dụ global bundle của nhà cung cấp. Có thể nối nhiều chứng chỉ (CA bundle). Nạp bằng Chọn file hoặc Dán PEM.
- Tên server trong chứng chỉ (chỉ PostgreSQL): điền khi Host là địa chỉ IP hoặc khác với tên trong chứng chỉ. Để trống thì dùng Host.
- Client certificate (PEM) và Private key (PEM): chỉ cần khi server yêu cầu client certificate (mTLS, ví dụ
pg_hba … cert). Hai ô này phải nhập cùng nhau; private key không được có passphrase.
Sau khi lưu, chứng chỉ chỉ hiện ở dạng tóm tắt (CN, ngày hết hạn; hiện màu đỏ khi đã hết hạn). Private key không bao giờ hiển thị lại. Ô nào không sửa thì giữ bản đã lưu. Bấm Gỡ để bỏ một chứng chỉ, hoặc Giữ bản đã lưu để huỷ thay đổi trên ô đó. Hệ thống từ chối lưu nếu không đọc được PEM, chứng chỉ đã hết hạn, hoặc private key không khớp với client certificate.
Lưu ý
Phần tiêu đề “Lưu ý”- Mật khẩu không bao giờ được trả về trình duyệt. Ô Password chỉ cho biết đã có mật khẩu hay chưa; để trống nếu không muốn đổi.
- Lưu config có hiệu lực ngay. Mọi action ở môi trường đó dùng kết nối mới; truy vấn đang chạy quá vài giây có thể bị cắt. Khi sửa config của môi trường production, trang hiện cảnh báo rằng credential này được dùng cho dữ liệu thật.
- Thẻ Bảng & cột trên trang data source hiển thị nhanh cấu trúc DB (cache 5 phút). Để xem sơ đồ quan hệ hoặc sinh action CRUD, vào Bảng & sơ đồ.
- Nút Tạo action từ data source này (chỉ với PostgreSQL và MySQL) mở form tạo action với data source này đã được chọn sẵn.
Xoá data source
Phần tiêu đề “Xoá data source”Thẻ Xoá data source nằm cuối trang chi tiết (cần vai trò Admin). Thao tác xoá gỡ hẳn config ở mọi môi trường, kể cả mật khẩu, header và chứng chỉ, và không hoàn tác được.
Không xoá được data source khi còn action dùng data source đó. Hộp xác nhận liệt kê từng action đang dùng; gỡ các action này hoặc chuyển chúng sang data source khác trước.
Xem thêm
Phần tiêu đề “Xem thêm”- Bảng & sơ đồ: xem bảng, quan hệ và sinh action CRUD.
- Biến & secret: giá trị theo môi trường dùng trong SQL.
- Môi trường: thêm môi trường và đánh dấu production.