Bỏ qua, đến nội dung

@digiforce-nc/plugin-data-source-external-mysql

Plugin kết nối MySQL bên ngoài làm data source — biến bảng MySQL thành collection để thao tác CRUD trực tiếp từ giao diện.

Plugin này làm gì?

Khi dữ liệu nghiệp vụ nằm trong MySQL, plugin này cho phép kết nối trực tiếp mà không cần import. Nó đăng ký loại data source mysql vào data-source-manager factory, tự động introspect schema, rồi map bảng MySQL thành collection trong hệ thống Digiforce.

Cơ chế hoạt động

Tính năng chính

#Tính năngMô tả
1Kết nối MySQLCấu hình host, port, user, password, database
2Auto-detect tablesPhát hiện bảng, cột, kiểu dữ liệu, primary key tự động
3Multi-databaseKết nối nhiều MySQL instance đồng thời
4CRUD qua UIThao tác dữ liệu MySQL trực tiếp từ giao diện
5SSL/TLSHỗ trợ kết nối mã hóa cho môi trường production
6Charset supportHỗ trợ utf8mb4 cho dữ liệu tiếng Việt, emoji

Cấu hình kết nối

Tham sốBắt buộcMô tảVí dụ
hostĐịa chỉ server MySQL192.168.1.100
portKhôngCổng kết nối (mặc định 3306)3306
databaseTên databasemy_erp
usernameTên đăng nhậpreadonly_user
passwordMật khẩu***
sslKhôngBật SSL/TLStrue
charsetKhôngCharacter set (mặc định utf8mb4)utf8mb4

Kiến trúc nội bộ

Thành phầnVai trò
RegisterĐăng ký mysql type vào factory registry khi plugin load
FactoryTạo kết nối Database instance với dialect MySQL
IntrospectorĐọc INFORMATION_SCHEMA để map bảng → collection
SyncĐồng bộ metadata vào CollectionManager

Thành phần client

Thành phầnMô tả
MySQLConnectionFormForm cấu hình kết nối MySQL
ConnectionTestNút kiểm tra kết nối trước khi lưu
ExternalCollectionListDanh sách bảng MySQL được map thành collection
CharsetSelectorChọn character set cho kết nối

Dependencies

PackageVai trò
@digiforce-nc/serverServer framework
@digiforce-nc/databaseDatabase abstraction layer (mysql dialect)
@digiforce-nc/clientClient UI framework
@digiforce-nc/data-source-managerRegistry quản lý data source
mysql2MySQL native driver

Lưu ý triển khai

  • MySQL 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ợ MySQL 5.7 trở lên và MySQL 8.x
  • Kết nối mặc định dùng charset utf8mb4 cho hỗ trợ Unicode đầy đủ
  • Với bảng lớn (triệu dòng), nên có index phù hợp trên MySQL

Mục lục chi tiết