| Статический публичный обзор | ||
|---|---|---|
| public | DataTypes: * Удобный класс, содержащий часто используемые типы данных. | |
| public | Deferrable: * Коллекция свойств, связанных с отложенными ограничениями. | |
| public | IndexHints: * Перечисление подсказок индекса, которые следует использовать в mysql для запросов с подсказками индекса | |
| public | Op: {"eq": *, "ne": *, "gte": *, "gt": *, "lte": *, "lt": *, "not": *, "is": *, "in": *, "notIn": *, "like": *, "notLike": *, "iLike": *, "notILike": *, "startsWith": *, "endsWith": *, "substring": *, "regexp": *, "notRegexp": *, "iRegexp": *, "notIRegexp": *, "between": *, "notBetween": *, "overlap": *, "contains": *, "contained": *, "adjacent": *, "strictLeft": *, "strictRight": *, "noExtendRight": *, "noExtendLeft": *, "and": *, "or": *, "any": *, "all": *, "values": *, "col": *, "placeholder": *, "join": *} Символы операторов, которые следует использовать при запросе данных | |
| 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
}
})
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 IndexHints: * source
Перечисление подсказок индекса, которые следует использовать в mysql для запросов с подсказками индекса
Свойства:
| Имя | Тип | Атрибут | Описание |
|---|---|---|---|
| USE | * | ||
| FORCE | * | ||
| IGNORE | * |
public Op: {"eq": *, "ne": *, "gte": *, "gt": *, "lte": *, "lt": *, "not": *, "is": *, "in": *, "notIn": *, "like": *, "notLike": *, "iLike": *, "notILike": *, "startsWith": *, "endsWith": *, "substring": *, "regexp": *, "notRegexp": *, "iRegexp": *, "notIRegexp": *, "between": *, "notBetween": *, "overlap": *, "contains": *, "contained": *, "adjacent": *, "strictLeft": *, "strictRight": *, "noExtendRight": *, "noExtendLeft": *, "and": *, "or": *, "any": *, "all": *, "values": *, "col": *, "placeholder": *, "join": *} source
Операторы для использования при запросе данных
Свойства:
| Имя | Тип | Атрибут | Описание |
|---|---|---|---|
| eq | * | ||
| ne | * | ||
| gte | * | ||
| gt | * | ||
| lte | * | ||
| lt | * | ||
| not | * | ||
| is | * | ||
| in | * | ||
| notIn | * | ||
| like | * | ||
| notLike | * | ||
| iLike | * | ||
| notILike | * | ||
| startsWith | * | ||
| endsWith | * | ||
| substring | * | ||
| regexp | * | ||
| notRegexp | * | ||
| iRegexp | * | ||
| notIRegexp | * | ||
| between | * | ||
| notBetween | * | ||
| overlap | * | ||
| contains | * | ||
| contained | * | ||
| adjacent | * | ||
| strictLeft | * | ||
| strictRight | * | ||
| noExtendRight | * | ||
| noExtendLeft | * | ||
| and | * | ||
| or | * | ||
| any | * | ||
| all | * | ||
| values | * | ||
| col | * | ||
| placeholder | * | ||
| join | * |
См.:
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/v5/variable/index.html