Примитивы#
Список примитивных типов, доступных в системе для задания типов свойств модели и параметров запросов.
Типы#
bigint#
Длинное целое.
bool#
Логический тип.
date#
Дата.
dateTime#
дата + Время.
dateTimeOffset#
Дата + время + часовой пояс.
double#
Дробное.
file#
Идентификатор вложения.
int#
Целое.
longstring#
Строка, более 255 символов.
money#
Дробное денежное.
string#
Строка. Длинной до 255 символов.
time#
Время.
tinyint#
Короткое цело, до 255.
varbinary(max)#
Бинарные данные.
uuid#
Идентификатор uuid.
json#
Структурированные данные типа JSON.
(доступно с версии ___)
При загрузке модели поля с данным типом будут автоматически преобразованы в объект. При этом для MSSQL это поле в базе соответствуют примитиву longstring (тип JSON поддерживается лишь в последних версиях MSSQL).
Поддержка JSON как параметра в запросе не реализована. Для PostreSQL имеется поддержка JSON в результатах запроса. Из-за отсутствия совместимости с MSSQL такое использование не рекомендуется.
Сопоставление типов#
Для mssql и postgresql версии сопоставления типов отличаются. Обратите внимание на выделения значений в строках таблиц, представленных ниже. Для этих строк сопоставление определялось особенностями баз данных, а также используемых библиотек для работы с ними.
mssql-версия#
- при работе с данными с помощью моделей используется библиотека sequelize
- при работе с данными с помощью запросов используется библиотека mssql
| Название примитива | Модели | Запросы | обновление БД |
|---|---|---|---|
| bigint | Sequelize.BIGINT | mssql.BigInt | BigInt |
| bool | Sequelize.BOOLEAN | mssql.Bit | Bit |
| date | Sequelize.DATEONLY | mssql.Date | Date |
| dateTime | Sequelize.STRING | mssql.DateTime | DateTime |
| dateTimeOffset | Sequelize.DATE | mssql.DateTimeOffset(7) | DateTimeOffset(7) |
| double | Sequelize.DOUBLE | mssql.Float | Float |
| file | Sequelize.UUID | mssql.UniqueIdentifier | UniqueIdentifier |
| int | Sequelize.INTEGER | mssql.Int | Int |
| longstring | Sequelize.STRING('max') | mssql.NVarChar('max') | NVarChar(max) |
| money | Sequelize.DECIMAL(19, 4) | mssql.Money | Money |
| string | Sequelize.STRING | mssql.NVarChar(255) | VarChar(255) |
| time | Sequelize.TIME | mssql.Time(7) | Time(7) |
| tinyint | Sequelize.INTEGER | mssql.Int | Int |
| varbinary(max) | Sequelize.BLOB | mssql.VarBinary('max') | VarBinary(max) |
| uuid | Sequelize.UUID | mssql.UniqueIdentifier | UniqueIdentifier |
| json | Sequelize.STRING('max') | mssql.NVarChar('max') | NVarChar(max) |
postgresql-версия#
при работе с данными с помощью моделей используется библиотека sequelize.
| Название примитива | Модели | Запросы | обновление БД |
|---|---|---|---|
| bigint | Sequelize.BIGINT | bigint | bigint |
| bool | Sequelize.BOOLEAN | bool | bool |
| date | Sequelize.DATEONLY | date | date |
| dateTime | Sequelize.STRING | timestamp | timestamp |
| dateTimeOffset | Sequelize.DATE | timestamptz | timestamptz |
| double | Sequelize.DOUBLE | float8 | float8 |
| file | Sequelize.UUID | uuid | uuid |
| int | Sequelize.INTEGER | integer | integer |
| longstring | Sequelize.TEXT | text | text |
| money | Sequelize.DECIMAL(19, 4) | numeric(19,4) | numeric(19,4) |
| string | Sequelize.STRING | varchar(255) | varchar(255) |
| time | Sequelize.TIME | time | time |
| tinyint | Sequelize.INTEGER | integer | integer |
| varbinary(max) | Sequelize.BLOB | bytea | bytea |
| uuid | Sequelize.UUID | uuid | uuid |
| json | Sequelize.JSON | json | json |