变量
静态公共摘要 | ||
public |
DataTypes: * 一个包含常用数据类型的便捷类。 |
|
public |
Deferrable: {"INITIALLY_DEFERRED": *, "INITIALLY_IMMEDIATE": *, "NOT": *, "SET_DEFERRED": *, "SET_IMMEDIATE": *} 一个与可延迟约束相关的属性集合。 |
|
public |
IndexHints: * 一个用于在 MySQL 中使用索引提示进行查询的索引提示枚举。 |
|
public |
QueryTypes: * 一个由 |
|
public |
TableHints: * 一个用于在 MSSQL 中使用表提示进行查询的表提示枚举。 |
|
public |
定义有效 ValidationErrorItem |
|
public |
一个由 |
静态公共
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: {"INITIALLY_DEFERRED": *, "INITIALLY_IMMEDIATE": *, "NOT": *, "SET_DEFERRED": *, "SET_IMMEDIATE": *} 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 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 | * |
public ValidationErrorItemType: * source
一个由 ValidationErrorItem
类内部使用的枚举,它将当前 type
字符串(如传递给 ValidationErrorItem.constructor())映射到我们新的 origin
值。