Параметры конфигурации коллекции
name - Название коллекции
- Тип:
string - Обязательно: ✅
- Описание: уникальный идентификатор коллекции, который должен быть уникальным во всем приложении.
- Пример:
title - Заголовок коллекции
- Тип:
string - Обязательно: ❌
- Описание: отображаемый заголовок коллекции, используемый для отображения внешнего интерфейса.
- Пример:
migrationRules - Правила миграции
- Тип:
MigrationRule[] - Обязательно: ❌
- Описание: правила обработки для переноса данных.
- Пример:
inherits - Наследование коллекций
- Тип:
string[] | string - Обязательно: ❌
- Описание: наследовать определения полей из других коллекций. Поддерживает наследование одной или нескольких коллекций.
- Пример:
filterTargetKey - Целевой ключ фильтрации
- Тип:
string | string[] - Обязательно: ❌
- Описание: целевой ключ, используемый для фильтрации запросов. Поддерживает один или несколько ключей.
- Пример:
fields - Определения полей
- Тип:
FieldOptions[] - Обязательно: ❌
- Значение по умолчанию:
[] - Описание: массив определений полей для коллекции. Каждое поле содерж ит такую информацию, как тип, имя и конфигурация.
- Пример:
model - Пользовательская модель
- Тип:
string | ModelStatic<Model> - Обязательно: ❌
- Описание: укажите пользовательский класс модели Sequelize, который может быть либо именем класса, либо самим классом модели.
- Пример:
repository - Пользовательский репозиторий
- Тип:
string | RepositoryType - Обязательно: ❌
- Описание: укажите собственный класс репозитория для обработки логики доступа к данным.
- Пример:
autoGenId - Автоматическая генерация идентификатора
- Тип:
boolean - Обязательно: ❌
- Значение по умолчанию:
true - Описание: нужно ли автоматически генер ировать идентификатор первичного ключа.
- Пример:
timestamps - Включить временные метки
- Тип:
boolean - Обязательно: ❌
- Значение по умолчанию:
true - Описание: включить ли поля
createdAtиupdatedAt. - Пример:
createdAt - Поле времени создания
- Тип:
boolean | string - Обязательно: ❌
- Значение по умолчанию:
true - Описание: конфигурация поля
createdAt. - Пример:
updatedAt - Поле времени обновления
- Тип:
boolean | string - Обязательно: ❌
- Значение по умолчанию:
true - Описание: конфигурация поля
updatedAt. - Пример:
deletedAt - Поле мягкого удаления
- Тип:
boolean | string - Обязательно: ❌
- Значение по умолчанию:
false - Описание: конфигурация поля обратимого удаления.
- Пример:
paranoid - Режим мягкого удаления
- Тип:
boolean - Обязательно: ❌
- Значение по умолчанию:
false - Описание: включить ли режим обратимого удаления.
- Пример:
underscored - Именование с подчеркиванием
- Тип:
boolean - Обязательно: ❌
- Значение по умолчанию:
false - Описание: использовать ли стиль именования с подчеркиванием.
- Пример:
indexes - Конфигурация индексов
- Тип:
ModelIndexesOptions[] - Обязательно: ❌
- Описание: конфигурация индекса базы данных.
- Пример:
Конфигурация параметров поля
NocoBase поддерживает несколько т ипов полей, все из которых определены на основе типа объединения FieldOptions. Конфигурация поля включает в себя базовые свойства, свойства, специфичные для типа данных, свойства отношений и свойства внешнего интерфейса.
Основные параметры поля
Все типы полей наследуются от BaseFieldOptions, обеспечивая общие возможности настройки полей:
Пример:
name - Имя поля
- Тип:
string - Обязательно: ❌
- Описание: имя столбца поля в базе данных, которое должно быть уникальным в пределах коллекции.
- Пример:
hidden - Скрыть поле
- Тип:
boolean - Значение по умолчанию:
false - Описание: следует ли скрывать это поле по умолчанию в списках и формах.
- Пример:
validation - Правила проверки
- Тип:
ValidationOptions<T> - Описание: используйте Joi для определения правил проверки на стороне сервера.
- Пример:
allowNull - Разрешить значения Null
- Тип:
boolean - Значение по умолчанию:
true - Описание: определяет, позволяет ли база данных записывать значения
NULL. - Пример:
defaultValue - Значение по умолчанию
- Тип:
any - Описание: значение поля по умолчанию, используемое при создании записи без указания значения для этого поля.
- Пример:
unique - Уникальное значение
- Тип:
boolean | string - Значение по умолчанию:
false - Описание: должно ли значение быть уникальным. Строку можно использовать для указания имени ограничения.
- Пример:
primaryKey - Первичный ключ
- Тип:
boolean - Значение по умолчанию:
false - Описание: объявляет это поле первичным ключом.
- Пример:
autoIncrement - Автоинкремент
- Тип:
boolean - Значение по умолчанию:
false - Описание: включает автоматическое приращение (применимо только к числовым полям).
- Пример:
field - Имя столбца базы данных
- Тип:
string - Описание: указывает фактическое имя столбца базы данных (в соответствии с
fieldв Sequelize). - Пример:
comment - Комментарий к базе данных
- Тип:
string - Описание: комментарий к полю базы данных, используемый в целях документации.
- Пример:
title - Отображаемый заголовок
- Тип:
string - Описание: отображаемый заголовок поля, о бычно используемый во внешнем интерфейсе.
- Пример:
description - Описание поля
- Тип:
string - Описание: описательная информация о поле, помогающая пользователям понять его назначение.
- Пример:
interface - Компонент интерфейса
- Тип:
string - Описание: рекомендуемый компонент внешнего интерфейса для данного поля.
- Пример:
Интерфейсы типов полей
type: 'string' - Строковое поле
- Описание: используется для хранения коротких текстовых данных. Поддерживает ограничения длины и автоматическую обрезку.
- Тип базы данных:
VARCHAR - Особые свойства:
length: ограничение длины строки.trim: автоматически удалять начальные и конечные пробелы.
Пример:
type: 'text' - Текстовое поле
- Описание: используется для хранения длинных текстовых данных. Поддерживает различные типы текста в MySQL.
- Тип базы данных:
TEXT,MEDIUMTEXT,LONGTEXT - Особые свойства:
length: тип длины текста MySQL (tiny/medium/long).
Пример:
Числовые типы
type: 'integer' - Целочисленное поле
- Описание: используется для хранения целочисленных данных. Поддерживает автоинкремент и первичный ключ.
- Тип базы данных:
INTEGER
Пример:
type: 'bigInt' - Большое целочисленное поле
- Описание: используется для хранения больших ц елочисленных данных с диапазоном, превышающим
integer. - Тип базы данных:
BIGINT
Пример:
type: 'float' - Поле с плавающей запятой
- Описание: используется для хранения чисел одинарной точности с плавающей запятой.
- Тип базы данных:
FLOAT - Особые свойства:
precision: Общее количество цифр.scale: количество десятичных знаков.
Пример:
type: 'double' - Поле с плавающей запятой двойной точности
- Описание: используется для хранения чисел двойной точности с плавающей запятой, точность которых выше, чем
float. - Тип базы данных:
DOUBLE - Особые свойства:
precision: Общее количество цифр.scale: количество десятичных знаков.
Пример:
type: 'real' - Поле real
- Описание: используется для хранения действительных чисел; зависит от базы данных.
- Тип базы данных:
REAL - Особые свойства:
precision: Общее количество цифр.scale: количество десятичных знаков.
Пример:
type: 'decimal' - Десятичное поле
- Описание: используется для хранения точных десятичных чисел, подходит для финансовых расчетов.
- Тип базы данных:
DECIMAL - Особые свойства:
precision: Общее количество цифр.scale: количество десятичных знаков.
Пример:
Логические типы
type: 'boolean' - Логическое поле
- Описание: используется для хранения значений true/false, обычно для состояний включения/выключения.
- Тип базы данных:
BOOLEANилиTINYINT(1).
Пример:
type: 'radio' - Поле radio
- Описание: используется для хранения одного выбранного значения, обычно для двоичных вариантов.
- Тип базы данных:
BOOLEANилиTINYINT(1).
Пример:
Типы даты и времени
type: 'date' - Поле даты
- Описание: используется для хранения данных даты без информации о времени.
- Тип базы данных:
DATE - Особые свойства:
timezone: включать ли информацию о часовом поясе.
Пример:
type: 'time' - Поле времени
- Описание: используется для хранения данных времени без информации о дате.
- Тип базы данных:
TIME - Особые свойства:
timezone: включать ли информацию о часовом поясе.
Пример:
type: 'datetimeTz' - Дата и время с часовым поясом
- Описание: используется для хранения данных о дате и времени с информацией о часовом поясе.
- Тип базы данных:
TIMESTAMP WITH TIME ZONE - Особые свойства:
timezone: включать ли информацию о часовом поясе.
Пример:
type: 'datetimeNoTz' - Дата и время без часового пояса
- Описание: используется для хранения данных о дате и времени без информации о часовом поясе.
- Тип базы данных:
TIMESTAMPилиDATETIME. - Особые свойства:
timezone: включать ли информацию о часовом поясе.
Пример:
type: 'dateOnly' - Поле только даты
- Описание: используется для хранения данных, содержащих только дату, без времени.
- Тип базы данных:
DATE - Пример:
type: 'unixTimestamp' - Поле временной метки Unix
- Описание: используется для хранения данных временных меток Unix.
- Тип базы данных:
BIGINT - Особые свойства:
epoch: Время эпохи.
Пример:
Типы JSON
type: 'json' - Поле JSON
- Описание: используется для хранения данных в формате JSON, поддерживая сложные структуры данных.
- Тип базы данных:
JSONилиTEXT. - Пример:

