变量
| 静态公共摘要 | ||
| 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 值。
指南 参考 源码
