| Статический публичный обзор | ||
|---|---|---|
| public | DataTypes: * Класс-помощник, содержащий часто используемые типы данных. | |
| public | Deferrable: * Коллекция свойств, связанных с отложенными ограничениями. | |
| public | Op: {"eq": *, "ne": *, "gte": *, "gt": *, "lte": *, "lt": *, "not": *, "is": *, "in": *, "notIn": *, "like": *, "notLike": *, "iLike": *, "notILike": *, "regexp": *, "notRegexp": *, "iRegexp": *, "notIRegexp": *, "between": *, "notBetween": *, "overlap": *, "contains": *, "contained": *, "adjacent": *, "strictLeft": *, "strictRight": *, "noExtendRight": *, "noExtendLeft": *, "and": *, "or": *, "any": *, "all": *, "values": *, "col": *, "placeholder": *, "join": *, "raw": *} Символы операторов, используемые при запросе данных | |
| public | QueryTypes: * Перечисление типов запросов, используемых | |
| public | TableHints: * Перечисление подсказок для таблиц, используемых в mssql для запросов с подсказками для таблиц | |
Статический публичный
public DataTypes: * source
Класс-помощник, содержащий часто используемые типы данных. Типы данных используются при определении новой модели с помощью Sequelize.define, например так:
sequelize.define('model', {
column: DataTypes.INTEGER
})
При определении модели вы также можете передать строку в качестве типа, но часто использование типов, определенных здесь, выгодно. Например, использование DataTypes.BLOB, означает, что этот столбец будет возвращен как экземпляр Buffer при извлечении с помощью sequelize.
Для указания длины типа данных вы можете вызвать его как функцию: INTEGER(2)
У некоторых типов данных есть особые свойства, которые можно использовать для изменения типа данных. Например, для получения целого неотрицательного числа с нулевым заполнением, вы можете сделать DataTypes.INTEGER.UNSIGNED.ZEROFILL. Порядок доступа к свойствам не имеет значения, поэтому DataTypes.INTEGER.ZEROFILL.UNSIGNED тоже подойдет.
- Все числовые типы (
INTEGER,BIGINT,FLOAT,DOUBLE,REAL,DECIMAL) поддерживают свойстваUNSIGNEDиZEROFILL - Типы
CHARиSTRINGподдерживают свойствоBINARY
Три из предоставленных значений (NOW, UUIDV1 и UUIDV4) являются специальными значениями по умолчанию, которые не следует использовать для определения типов. Вместо этого они используются в качестве сокращений для определения значений по умолчанию. Например, для получения поля uuid со значением по умолчанию, сгенерированным в соответствии со стандартом UUID v1:
sequelize.define('model',` {
uuid: {
type: DataTypes.UUID,
defaultValue: DataTypes.UUIDV1,
primaryKey: true
}
})
Возможны случаи, когда вам нужно сгенерировать свой собственный UUID, соответствующий другому алгоритму. Это достигается с помощью свойства defaultValue, но вместо указания одного из предоставленных типов UUID, вы возвращаете значение из функции.
sequelize.define('model', {
uuid: {
type: DataTypes.UUID,
defaultValue: function() {
return generateMyId()
},
primaryKey: true
}
})
Свойства:
| Имя | Тип | Атрибут | Описание |
|---|---|---|---|
| STRING | функция(длина=255: целое число) |
Строка переменной длины | |
| CHAR | функция(длина=255: целое число) |
Строка фиксированной длины. | |
| TEXT | функция(длина: строка) |
Текстовый столбец неограниченной длины. Доступные длины: | |
| TINYINT | функция(длина: целое число) |
Целое число 8 бит. | |
| SMALLINT | функция(длина: целое число) |
Целое число 16 бит. | |
| MEDIUMINT | функция(длина: целое число) |
Целое число 24 бит. | |
| INTEGER | функция(длина=255: целое число) |
Целое число 32 бит. | |
| BIGINT | функция(длина: целое число) |
Целое число 64 бит. Примечание: атрибут, определенный как | |
| FLOAT | функция(длина: целое число, десятичные знаки: целое число) |
Число с плавающей точкой (4 байта точности). | |
| DOUBLE | функция(длина: целое число, десятичные знаки: целое число) |
Число с плавающей точкой (8 байт точности). | |
| DECIMAL | функция(точность: целое число, масштаб: целое число) |
Десятичное число. | |
| REAL | функция(длина: целое число, десятичные знаки: целое число) |
Число с плавающей точкой (4 байта точности). | |
| BOOLEAN | функция |
Булевый/столбец tinyint, в зависимости от диалекта | |
| BLOB | функция(длина: строка) |
Двоичное хранилище. Доступные длины: | |
| ENUM | функция(значения: строка[]) |
Перечисление. | |
| DATE | функция(длина: целое число) |
Столбец datetime | |
| DATEONLY | функция |
Столбец только с датой (без метки времени) | |
| TIME | функция |
Столбец времени | |
| NOW | функция |
Значение по умолчанию — текущая метка времени | |
| UUID | функция |
Столбец, хранящий уникальный универсальный идентификатор. Используйте с | |
| UUIDV1 | функция |
Уникальный универсальный идентификатор по умолчанию, сгенерированный в соответствии со стандартом UUID v1 | |
| UUIDV4 | функция |
Уникальный универсальный идентификатор по умолчанию, сгенерированный в соответствии со стандартом UUID v4 | |
| HSTORE | функция |
Столбец для хранения пар «ключ-значение». Доступен только в Postgres. | |
| JSON | функция |
Столбец JSON-строки. Доступен в MySQL, Postgres и SQLite | |
| JSONB | функция |
Столбец JSON с двоичным хранилищем. Доступен только в Postgres. | |
| ARRAY | функция(тип: DataTypes) |
Массив | |
| RANGE | функция(тип: DataTypes) |
Типы диапазонов — это типы данных, представляющие диапазон значений некоторого типа элемента (называемого подтипом диапазона). Доступны только в Postgres. Подробнее см. документацию Postgres. | |
| GEOMETRY | функция(тип: строка, srid: строка) |
Столбец, хранящий геометрическую информацию. Доступен только в PostgreSQL (с PostGIS) или MySQL. В MySQL допустимые типы геометрии: GeoJSON принимается в качестве входных данных и возвращается в качестве выходных данных. В PostGIS GeoJSON анализируется с помощью функции PostGIS | |
| GEOGRAPHY | функция(тип: строка, srid: строка) |
Тип данных geography представляет двумерные пространственные объекты в эллиптической системе координат. | |
| VIRTUAL | функция(возвращаемый тип: DataTypes, поля: строка[]) |
Виртуальное значение, которое не хранится в базе данных. Это может быть полезно, например, если вы хотите предоставить значение по умолчанию в вашей модели, которое возвращается пользователю, но не хранится в базе данных. Вы также можете использовать его для проверки значения перед его преобразованием и сохранением. Например, проверка длины пароля перед его хэшированием: В приведенном коде пароль хранится открыто в поле password, чтобы его можно было проверить, но он никогда не хранится в базе данных. VIRTUAL также принимает возвращаемый тип и зависимые поля в качестве аргументов. Если виртуальный атрибут присутствует в |
public Deferrable: * source
Коллекция свойств, связанных с отложенными ограничениями. Может использоваться для откладывания проверки ограничений внешнего ключа и для задания ограничений в рамках транзакции. Поддерживается только в PostgreSQL.
Внешние ключи можно настроить так. Это создаст внешний ключ, который будет проверять ограничения немедленно при вставке данных.
sequelize.define('Model', {
foreign_id: {
type: Sequelize.INTEGER,
references: {
model: OtherModel,
key: 'id',
deferrable: Sequelize.Deferrable.INITIALLY_IMMEDIATE
}
}
});
Ограничения можно настроить в рамках транзакции так. Это запустит запрос после начала транзакции и установит ограничения, которые будут проверены в самом конце транзакции.
sequelize.transaction({
deferrable: Sequelize.Deferrable.SET_DEFERRED
});
Свойства:
| Имя | Тип | Атрибут | Описание |
|---|---|---|---|
| INITIALLY_DEFERRED | * |
Отложить проверку ограничений до конца транзакции. | |
| INITIALLY_IMMEDIATE | * |
Вызвать проверку ограничений немедленно | |
| NOT | * |
Установить ограничения как не отложенные. Это значение по умолчанию в PostgreSQL, и оно делает невозможным динамическое откладывание ограничений в рамках транзакции. | |
| SET_DEFERRED | * | ||
| SET_IMMEDIATE | * |
public Op: {"eq": *, "ne": *, "gte": *, "gt": *, "lte": *, "lt": *, "not": *, "is": *, "in": *, "notIn": *, "like": *, "notLike": *, "iLike": *, "notILike": *, "regexp": *, "notRegexp": *, "iRegexp": *, "notIRegexp": *, "between": *, "notBetween": *, "overlap": *, "contains": *, "contained": *, "adjacent": *, "strictLeft": *, "strictRight": *, "noExtendRight": *, "noExtendLeft": *, "and": *, "or": *, "any": *, "all": *, "values": *, "col": *, "placeholder": *, "join": *, "raw": *} source
Символы операторов, которые используются при запросе данных
Свойства:
| Имя | Тип | Атрибут | Описание |
|---|
См. также:
public QueryTypes: * source
Список типов запросов, используемых sequelize.query$
Свойства:
| Имя | Тип | Атрибут | Описание |
|---|---|---|---|
| SELECT | * | ||
| INSERT | * | ||
| UPDATE | * | ||
| BULKUPDATE | * | ||
| BULKDELETE | * | ||
| DELETE | * | ||
| UPSERT | * | ||
| VERSION | * | ||
| SHOWTABLES | * | ||
| SHOWINDEXES | * | ||
| DESCRIBE | * | ||
| RAW | * | ||
| FOREIGNKEYS | * | ||
| SHOWCONSTRAINTS | * |
См. также:
public TableHints: * source
Список подсказок к таблицам для использования в mssql для запросов с подсказками к таблицам
Свойства:
| Имя | Тип | Атрибут | Описание |
|---|---|---|---|
| NOLOCK | * | ||
| READUNCOMMITTED | * | ||
| UPDLOCK | * | ||
| REPEATABLEREAD | * | ||
| SERIALIZABLE | * | ||
| READCOMMITTED | * | ||
| TABLOCK | * | ||
| TABLOCKX | * | ||
| PAGLOCK | * | ||
| ROWLOCK | * | ||
| NOWAIT | * | ||
| READPAST | * | ||
| XLOCK | * | ||
| SNAPSHOT | * | ||
| NOEXPAND | * |
Copyright © 2014–present Sequelize contributors
Licensed under the MIT License.
https://sequelize.org/v4/variable/index.html