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 без переноса исторических данных
  • Настройка прав доступа, обработка процессов, исправление данных или отображение отчётов для существующих таблиц
  • Продолжение поддержки структуры базы данных администратором базы данных, скриптами миграции или исходной системой
Внимание

Внешняя 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

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