KingbaseES

Data source: KingbaseESProfessional Edition+

Введение

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

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

ПараметрОписание
Поддерживаемая версияKingbaseES >= V9.
Коммерческие версииПоддерживаются профессиональная и корпоративная версии.
Соответствующий плагин@nocobase/plugin-data-source-kingbase.
Режим базы данныхПоддерживается только режим совместимости с PostgreSQL.

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

  • подключение существующей бизнес-базы KingbaseES в государственных, корпоративных, внутренних или локализованных средах
  • создание интерфейса управления в NocoBase без переноса исторических данных
  • управление правами доступа, обработка процессов, исправление данных или отображение отчётов для существующих таблиц
  • продолжение поддержки структуры базы данных со стороны DBA, скриптов миграции или исходной системы
Внимание

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

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

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

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

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

20260709210325

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

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

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

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

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

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

20260709210603

Внимание

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

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

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

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

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

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

NocoBase распознаёт типы полей KingbaseES с учётом логики совместимости с PostgreSQL и автоматически сопоставляет их с подходящими Field type и Field interface. Способ отображения в интерфейсе можно изменить в настройках поля.

Основные сопоставления:

Тип поля KingbaseESField type NocoBaseДоступные Field interface
BOOLEANbooleanCheckbox, Switch.
SMALLINTINTEGERintegersortInteger, Sort, Select, Radio group.
BIGINTbigIntsnowflakeIdunixTimestampsortInteger, Sort, Unix timestamp, Created at, Updated at.
REALDOUBLE PRECISIONfloatNumber, Percent.
DECIMALNUMERICdecimalNumber, Percent, Currency.
VARCHARCHARstringuuidnanoidencryptiondatetimeNoTzInput, Email, Phone, Password, Color, Icon, Select, Radio group, UUID, Nano ID.
TEXTtextTextarea, Markdown, Vditor, Rich text, URL.
UUIDuuidUUID.
JSONJSONBjsonarrayJSON.
TIMESTAMP WITHOUT TIME ZONEdatetimeNoTzDate, Time, Created at, Updated at.
TIMESTAMP WITH TIME ZONEdatetimeTzdateDate, Time, Created at, Updated at.
DATEdateOnlyDate.
TIME WITHOUT TIME ZONEtimeTime.
POINTPATHPOLYGONCIRCLEjsonJSON.
ARRAYarrayMultiple select, Checkbox group, JSON.
Внимание

Неподдерживаемые типы полей KingbaseES отображаются отдельно в настройках полей. Для использования таких полей в NocoBase как обычных требуется разработать соответствующую адаптацию.

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

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

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

20260709210636 20260709210651

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