Giao diện
@digiforce-nc/plugin-data-source-external-mariadb
Plugin kết nối MariaDB bên ngoài làm data source — biến bảng MariaDB thành collection để thao tác CRUD trực tiếp từ giao diện.
Plugin này làm gì?
MariaDB là nhánh fork phổ biến của MySQL, được nhiều hệ thống Linux sử dụng mặc định. Plugin này đăng ký loại data source mariadb vào data-source-manager factory, introspect schema và map bảng MariaDB thành collection Digiforce.
Cơ chế hoạt động
Tính năng chính
| # | Tính năng | Mô tả |
|---|---|---|
| 1 | Kết nối MariaDB | Cấu hình host, port, user, password, database |
| 2 | Auto-detect tables | Phát hiện bảng, cột, kiểu dữ liệu tự động |
| 3 | MariaDB-specific types | Hỗ trợ kiểu dữ liệu riêng MariaDB (JSON, INET6...) |
| 4 | Multi-database | Kết nối nhiều MariaDB instance đồng thời |
| 5 | CRUD qua UI | Thao tác dữ liệu trực tiếp từ giao diện |
| 6 | SSL/TLS | Kết nối mã hóa cho production |
Cấu hình kết nối
| Tham số | Bắt buộc | Mô tả | Ví dụ |
|---|---|---|---|
host | Có | Địa chỉ server MariaDB | 192.168.1.100 |
port | Không | Cổng kết nối (mặc định 3306) | 3306 |
database | Có | Tên database | my_erp |
username | Có | Tên đăng nhập | readonly_user |
password | Có | Mật khẩu | *** |
ssl | Không | Bật SSL/TLS | true |
Kiến trúc nội bộ
| Thành phần | Vai trò |
|---|---|
| Register | Đăng ký mariadb type vào factory registry |
| Factory | Tạo kết nối Database instance với dialect MariaDB |
| Introspector | Đọc INFORMATION_SCHEMA để map bảng → collection |
| Sync | Đồng bộ metadata vào CollectionManager |
Thành phần client
| Thành phần | Mô tả |
|---|---|
MariaDBConnectionForm | Form cấu hình kết nối MariaDB |
ConnectionTest | Nút kiểm tra kết nối trước khi lưu |
ExternalCollectionList | Danh sách bảng được map thành collection |
Dependencies
| Package | Vai trò |
|---|---|
@digiforce-nc/server | Server framework |
@digiforce-nc/database | Database abstraction layer (mariadb dialect) |
@digiforce-nc/client | Client UI framework |
@digiforce-nc/data-source-manager | Registry quản lý data source |
mariadb | MariaDB native driver |
Lưu ý triển khai
- MariaDB bên ngoài cần mở firewall cho IP server Digiforce
- Nên tạo user read-only nếu chỉ cần đọc dữ liệu
- Hỗ trợ MariaDB 10.3 trở lên
- Tương thích giao thức MySQL nhưng dùng driver riêng cho tối ưu