Эта документация была автоматически переведена ИИ.
name - Название коллекцииstringtitle - Заголовок коллекцииstringmigrationRules - Правила миграцииMigrationRule[]inherits - Наследование коллекцийstring[] | stringfilterTargetKey - Ключ для фильтрацииstring | string[]fields - Определения полейFieldOptions[][]model - Пользовательская модельstring | ModelStatic<Model>repository - Пользовательский репозиторийstring | RepositoryTypeautoGenId - Автоматическая генерация IDbooleantruetimestamps - Включить временные меткиbooleantruecreatedAt и updatedAt.createdAt - Поле "Время создания"boolean | stringtruecreatedAt.updatedAt - Поле "Время обновления"boolean | stringtrueupdatedAt.deletedAt - Поле "Мягкое удаление"boolean | stringfalseparanoid - Режим мягкого удаленияbooleanfalseunderscored - Именование в стиле snake_casebooleanfalseindexes - Конфигурация индексовModelIndexesOptions[]NocoBase поддерживает различные типы полей, все они определяются на основе объединенного типа FieldOptions. Конфигурация поля включает базовые свойства, свойства, специфичные для типа данных, свойства отношений и свойства для рендеринга на фронтенде.
Все типы полей наследуются от BaseFieldOptions, предоставляя общие возможности конфигурации полей:
Пример:
name - Имя поляstringhidden - Скрытое полеbooleanfalsevalidation - Правила валидацииValidationOptions<T>allowNull - Разрешить NULL значенияbooleantrueNULL.defaultValue - Значение по умолчаниюanyunique - Уникальное ограничениеboolean | stringfalseprimaryKey - Первичный ключbooleanfalseautoIncrement - Автоинкрементbooleanfalsefield - Имя столбца в базе данныхstringfield в Sequelize).comment - Комментарий в базе данныхstringtitle - Отображаемый заголовокstringdescription - Описание поляstringinterface - Компонент интерфейсаstringtype: 'string' - Строковое полеVARCHARlength: Ограничение длины строкиtrim: Автоматически ли удалять начальные и конечные пробелыПример:
type: 'text' - Текстовое полеTEXT, MEDIUMTEXT, LONGTEXTlength: Тип длины текста MySQL (tiny/medium/long)Пример:
type: 'integer' - Целочисленное полеINTEGERПример:
type: 'bigInt' - Поле большого целого числаinteger.BIGINTПример:
type: 'float' - Поле с плавающей точкойFLOATprecision: Точность (общее количество цифр)scale: Количество знаков после запятойПример:
type: 'double' - Поле с плавающей точкой двойной точностиfloat.DOUBLEprecision: Точность (общее количество цифр)scale: Количество знаков после запятойПример:
type: 'real' - Вещественное полеREALprecision: Точность (общее количество цифр)scale: Количество знаков после запятойПример:
type: 'decimal' - Десятичное поле с точной точностьюDECIMALprecision: Точность (общее количество цифр)scale: Количество знаков после запятойПример:
type: 'boolean' - Булево полеBOOLEAN или TINYINT(1)Пример:
type: 'radio' - Поле "Радиокнопка"BOOLEAN или TINYINT(1)Пример:
type: 'date' - Поле датыDATEtimezone: Включать ли информацию о часовом поясеПример:
type: 'time' - Поле времениTIMEtimezone: Включать ли информацию о часовом поясеПример:
type: 'datetimeTz' - Поле даты и времени с часовым поясомTIMESTAMP WITH TIME ZONEtimezone: Включать ли информацию о часовом поясеПример:
type: 'datetimeNoTz' - Поле даты и времени без часового поясаTIMESTAMP или DATETIMEtimezone: Включать ли информацию о часовом поясеПример:
type: 'dateOnly' - Поле только для датыDATEtype: 'unixTimestamp' - Поле временной метки UnixBIGINTepoch: Эпоха (начало отсчета времени)Пример:
type: 'json' - Поле JSONJSON или TEXTtype: 'jsonb' - Поле JSONBJSONB (PostgreSQL)type: 'array' - Поле массиваJSON или ARRAYdataType: Тип хранения (json/array)elementType: Тип элемента (STRING/INTEGER/BOOLEAN/JSON)Пример:
type: 'set' - Поле набораJSON или ARRAYdataType: Тип хранения (json/array)elementType: Тип элемента (STRING/INTEGER/BOOLEAN/JSON)Пример:
type: 'uuid' - Поле UUIDUUID или VARCHAR(36)autoFill: Автоматическое заполнениеПример:
type: 'nanoid' - Поле NanoidVARCHARsize: Длина IDcustomAlphabet: Пользовательский набор символовautoFill: Автоматическое заполнениеПример:
type: 'uid' - Пользовательское поле UIDVARCHARprefix: Префиксpattern: Шаблон валидацииПример:
type: 'snowflakeId' - Поле Snowflake IDBIGINTtype: 'password' - Поле пароляVARCHARlength: Длина хешаrandomBytesSize: Размер случайных байтовПример:
type: 'encryption' - Поле шифрованияVARCHARtype: 'virtual' - Виртуальное полеtype: 'context' - Поле контекстаdataType.dataIndex: Путь к индексу данныхdataType: Тип данныхcreateOnly: Устанавливать только при созданииПример:
type: 'belongsTo' - Отношение "принадлежит к"target: Имя целевой коллекцииforeignKey: Имя поля внешнего ключаtargetKey: Имя ключевого поля в целевой коллекцииonDelete: Каскадное действие при удаленииonUpdate: Каскадное действие при обновленииconstraints: Включить ли ограничения внешнего ключаПример:
type: 'hasOne' - Отношение "имеет один"target: Имя целевой коллекцииforeignKey: Имя поля внешнего ключаsourceKey: Имя ключевого поля в исходной коллекцииonDelete: Каскадное действие при удаленииonUpdate: Каскадное действие при обновленииconstraints: Включить ли ограничения внешнего ключаПример:
type: 'hasMany' - Отношение "имеет много"target: Имя целевой коллекцииforeignKey: Имя поля внешнего ключаsourceKey: Имя ключевого поля в исходной коллекцииsortBy: Поле для сортировкиsortable: Возможность сортировкиonDelete: Каскадное действие при удаленииonUpdate: Каскадное действие при обновленииconstraints: Включить ли ограничения внешнего ключаПример:
type: 'belongsToMany' - Отношение "многие ко многим"target: Имя целевой коллекцииthrough: Имя промежуточной таблицыforeignKey: Имя поля внешнего ключаotherKey: Другой внешний ключ в промежуточной таблицеsourceKey: Имя ключевого поля в исходной коллекцииtargetKey: Имя ключевого поля в целевой коллекцииonDelete: Каскадное действие при удаленииonUpdate: Каскадное действие при обновленииconstraints: Включить ли ограничения внешнего ключаПример: