External Database

Giới thiệu

Sử dụng database có sẵn bên ngoài làm Data Source, các External Database hiện được hỗ trợ gồm MySQL, MariaDB, PostgreSQL, MSSQL, Oracle.

Hướng dẫn sử dụng

Thêm External Database

Sau khi kích hoạt plugin, mới có thể chọn và thêm trong dropdown menu Add new của Data Source Manager.

20240507204316

Điền thông tin database cần tích hợp

20240507204820

Đồng bộ Collection

Sau khi External Database thiết lập kết nối, sẽ đọc trực tiếp tất cả Collection trong Data Source. External Database không hỗ trợ thêm trực tiếp Collection hoặc sửa cấu trúc bảng, nếu cần sửa, có thể thao tác thông qua database client, sau đó nhấn nút "Refresh" trên giao diện để đồng bộ.

20240507204725

Cấu hình Field

External Database sẽ tự động đọc các field của Collection có sẵn và hiển thị chúng. Có thể nhanh chóng xem và cấu hình title, kiểu dữ liệu (Field type) và kiểu UI (Field interface) của field, cũng có thể nhấn nút "Edit" để sửa thêm cấu hình.

20240507210537

Vì External Database không hỗ trợ sửa cấu trúc bảng, nên khi thêm field mới, kiểu có thể chọn chỉ là field quan hệ. Field quan hệ không phải là field thực, mà được dùng để thiết lập kết nối giữa các bảng.

20240507220140

Xem thêm tại chương Field Collection / Tổng quan.

Mapping kiểu Field

NocoBase sẽ tự động map kiểu dữ liệu (Field type) và kiểu UI (Field Interface) tương ứng cho kiểu field của External Database.

  • Kiểu dữ liệu (Field type): Dùng để định nghĩa loại, format và cấu trúc dữ liệu mà field có thể lưu trữ;
  • Kiểu UI (Field interface): Là loại control dùng để hiển thị và nhập giá trị field trong giao diện người dùng.
PostgreSQLMySQL/MariaDBNocoBase Data TypeNocoBase Interface Type
BOOLEANBOOLEAN
TINYINT(1)
booleancheckbox
switch
SMALLINT
INTEGER
SERIAL
SMALLSERIAL
TINYINT
SMALLINT
MEDIUMINT
INTEGER
integer
boolean
sort
integer
sort
checkbox
switch
select
radioGroup
BIGINT
BIGSERIAL
BIGINTbigInt
sort
integer
sort
checkbox
switch
select
radioGroup
unixTimestamp
createdAt
updatedAt
REALFLOATfloatnumber
percent
DOUBLE PRECISIONDOUBLE PRECISIONdoublenumber
percent
DECIMAL
NUMERIC
DECIMALdecimalnumber
percent
currency
VARCHAR
CHAR
VARCHAR
CHAR
string
password
uuid
nanoid
input
email
phone
password
color
icon
select
radioGroup
uuid
nanoid
TEXTTEXT
TINYTEXT
MEDIUMTEXT
LONGTEXT
text
json
textarea
markdown
vditor
richText
url
json
UUID-uuiduuid
JSON
JSONB
JSONjsonjson
TIMESTAMPDATETIME
TIMESTAMP
datedate
time
createdAt
updatedAt
DATEDATEdateOnlydatetime
TIMETIMEtimetime
-YEARdatetime
CIRCELcirclejson
circle
PATH
GEOMETRY(LINESTRING)
LINESTRINGlineStringJson
lineString
POINT
GEOMETRY(POINT)
POINTpointjson
point
POLYGON
GEOMETRY(POLYGON)
POLYGONpolygonjson
polygon
GEOMETRYGEOMETRY--
BLOBBLOBblob-
ENUMENUMenumselect
radioGroup
ARRAY-arraymultipleSelect
checkboxGroup
BITBIT--
SETSETsetmultipleSelect
checkboxGroup
RANGE---

Kiểu Field không được hỗ trợ

Các kiểu field không được hỗ trợ sẽ được hiển thị riêng, các field này cần phát triển adapter trước khi sử dụng.

20240507221854

Filter target key

Collection được dùng làm hiển thị block phải được cấu hình filter target key (Filter target key), filter target key đề cập đến việc lọc dữ liệu dựa trên field cụ thể, giá trị field phải có tính duy nhất. Filter target key mặc định là field khóa chính của Collection, nếu là view hoặc Collection không có khóa chính, Collection có khóa chính kết hợp, cần tùy chỉnh filter target key.

20240507210230

Chỉ Collection được set filter target key mới có thể được thêm vào trang

20240507222827