MariaDB

Источник данных: внешний MariaDBStandard Edition+

Введение

MariaDB можно подключить к NocoBase в качестве внешней базы данных. После подключения NocoBase считывает таблицы данных, поля и представления из MariaDB и использует их как таблицы данных внешнего источника данных.

В отличие от основной базы данных, фактическая структура таблиц внешней MariaDB по-прежнему поддерживается исходной бизнес-системой, клиентом базы данных или скриптами миграции. NocoBase отвечает за чтение структуры, сохранение метаданных полей, настройку блоков страниц, прав доступа, рабочих процессов и API.

ПараметрОписание
Поддерживаемая версияMariaDB >= 10.3.
Коммерческие версииПоддерживаются стандартная, профессиональная и корпоративная версии.
Соответствующий плагин@nocobase/plugin-data-source-external-mariadb.
Совместимый протоколДля подключения используется протокол MySQL, а сопоставление полей в целом следует логике совместимости с MySQL.

Внешняя MariaDB подходит для следующих сценариев:

  • Подключение базы данных MariaDB существующих бизнес-систем, таких как ERP, MES, WMS и CRM
  • Создание интерфейса управления в NocoBase без переноса исторических данных
  • Настройка прав доступа, обработка процессов, исправление данных или отображение отчётов для существующих таблиц
  • Дальнейшее обслуживание структуры базы данных DBA, скриптами миграции или исходной системой
Внимание

Внешняя MariaDB не является системной базой данных NocoBase. NocoBase не управляет её резервным копированием, восстановлением, миграцией и изменениями структуры таблиц.

Установка плагина

Этот плагин является коммерческим. Подробные сведения об активации см. в разделе: Руководство по активации коммерческих плагинов

Добавление источника данных

В разделе «Управление источниками данных» нажмите «Add new», выберите MariaDB и укажите данные для подключения.

20260709204413

Основные параметры подключения:

ПараметрОписание
Data source nameИдентификатор источника данных, используемый для ссылки на него в блоках страниц, правах доступа, рабочих процессах и API. После создания изменить его нельзя.
Data source display nameИмя источника данных, отображаемое в интерфейсе. Рекомендуется использовать понятное бизнес-пользователям имя, например «ERP MariaDB» или «База заказов».
Host / PortАдрес хоста и порт MariaDB. Порт по умолчанию обычно — 3306.
DatabaseИмя базы данных MariaDB, к которой необходимо подключиться.
Username / PasswordИмя пользователя и пароль для подключения к MariaDB. NocoBase может считывать только объекты, к которым у этой учётной записи есть доступ; права на другие объекты, принадлежащие другим учётным записям, не выдаются и не считываются.
Table prefixПрефикс имён таблиц. После настройки NocoBase считывает только таблицы данных и представления, соответствующие этому префиксу, и создаёт в NocoBase имена таблиц без префикса.
Collections / Add all collectionsУправление областью подключения. Если включить «Add all collections», NocoBase подключит все таблицы и представления в текущей области; если отключить, будут подключены только объекты, выбранные в разделе «Collections».
Enabled the data sourceОпределяет, включён ли источник данных. После отключения конфигурация источника сохраняется, но блоки страниц, права доступа, рабочие процессы и API больше не могут считывать его данные.
Совет

Если объектов MariaDB много, сначала сузьте область с помощью Database, Table prefix и «Collections». Подключайте только таблицы и представления, используемые текущим приложением: это упростит последующую настройку прав доступа, создание страниц и синхронизацию.

Выбор таблиц данных

После заполнения данных для подключения можно нажать «Load Collections», чтобы загрузить доступные таблицы данных и представления из MariaDB. Результаты загрузки зависят от учётной записи подключения, Database, Table prefix и настроек «Collections».

По умолчанию включён параметр «Add all collections», то есть подключаются все таблицы и представления в текущей области. Если нужно подключить только часть объектов, отключите «Add all collections», а затем выберите необходимые таблицы данных или представления в списке.

20260709204452

Внимание

Один внешний источник данных может одновременно подключить не более 500 таблиц данных или представлений. Если объектов MariaDB много, рекомендуется сначала сузить область с помощью Database, Table prefix или «Collections».

Синхронизация и настройка полей

Структура таблиц внешней MariaDB поддерживается на стороне базы данных. NocoBase не создаёт поля во внешней MariaDB, не изменяет типы полей и не удаляет реальные поля.

При изменении структуры таблиц на стороне MariaDB можно выполнить «Sync from database» в источнике данных, чтобы повторно считать метаданные таблиц и полей. Синхронизация обновляет сохранённые в NocoBase таблицы данных, поля, первичные ключи, уникальные ключи и сведения о сопоставлении типов полей, но не удаляет реальные таблицы или данные в MariaDB.

После синхронизации полей в NocoBase можно настроить заголовок поля, тип поля (Field type) и компонент поля (Field interface). Если необходимо создать поле связи NocoBase, его метаданные связи также сохраняются в NocoBase; реальные внешние ключи в таблицу MariaDB автоматически не добавляются.

Сопоставление типов полей

NocoBase автоматически сопоставляет типы полей MariaDB с подходящими Field type и Field interface. Распространённые сопоставления полей MariaDB практически совпадают с MySQL; способ отображения в интерфейсе можно изменить в настройках поля.

Распространённые сопоставления:

Тип поля MariaDBField type в NocoBaseДоступный Field interface
TINYINTSMALLINTMEDIUMINTintegerbooleansortInteger、Sort、Checkbox、Switch、Select、Radio group。
INTINTEGERintegerunixTimestampsortInteger、Sort、Unix timestamp、Select、Radio group。
BIGINTbigIntsnowflakeIdunixTimestampsortInteger、Sort、Unix timestamp、Created at、Updated at。
FLOATDOUBLEfloatNumber、Percent。
DECIMALdecimalNumber、Percent、Currency。
CHARVARCHARstringuuidnanoidencryptionInput、Email、Phone、Password、Color、Icon、Select、Radio group、UUID、Nano ID。
TINYTEXTTEXTMEDIUMTEXTLONGTEXTtextTextarea、Markdown、Vditor、Rich text、URL。
DATEdateOnlyDate。
TIMEtimeTime。
DATETIMEdatetimeNoTzdatetimeTzdateDate、Time、Created at、Updated at。
TIMESTAMPdatetimeTzdateDate、Time、Created at、Updated at。
YEARstringintegerInput、Integer、Date。
JSONjsonarrayJSON。
Внимание

Неподдерживаемые типы полей MariaDB отображаются отдельно в настройках полей. Чтобы использовать такие поля в NocoBase как обычные, необходимо предварительно разработать адаптер.

Первичный ключ и уникальный идентификатор записи

Для таблиц данных, используемых в блоках страниц и редактировании, рекомендуется наличие первичного ключа или уникального поля. В качестве уникального идентификатора записи NocoBase в первую очередь использует первичный ключ.

Если подключается представление, таблица без первичного ключа или таблица с составным первичным ключом, необходимо вручную указать «Record unique key» в настройках таблицы данных. Если доступного уникального идентификатора нет, блоки страниц могут некорректно отображать, редактировать или удалять записи.

20260709205835 20260709205854

Связанные ссылки