變數
靜態公開摘要 | ||
公開 |
DataTypes: * 一個方便的類別,用於存放常用的資料類型。 |
|
公開 |
Deferrable: {"INITIALLY_DEFERRED": *, "INITIALLY_IMMEDIATE": *, "NOT": *, "SET_DEFERRED": *, "SET_IMMEDIATE": *} 一個與可延遲約束相關的屬性集合。 |
|
公開 |
IndexHints: * 一個索引提示的枚舉,用於在 mysql 中使用索引提示進行查詢 |
|
公開 |
QueryTypes: * 一個由 |
|
公開 |
TableHints: * 一個資料表提示的枚舉,用於在 mssql 中使用資料表提示進行查詢 |
|
公開 |
一個定義有效 ValidationErrorItem |
|
公開 |
一個由 |
靜態公開
公開 DataTypes: * 來源
一個方便的類別,用於存放常用的資料類型。當使用 Sequelize.define
定義新模型時,會使用這些資料類型,如下所示
sequelize.define('model', {
column: DataTypes.INTEGER
})
在定義模型時,您可以輕鬆地將字串作為類型傳遞,但是使用這裡定義的類型通常是有益的。例如,使用 DataTypes.BLOB
表示該欄位在被 sequelize 擷取時將作為 Buffer
的實例返回。
要為資料類型提供長度,您可以像函數一樣調用它: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
}
})
公開 Deferrable: {"INITIALLY_DEFERRED": *, "INITIALLY_IMMEDIATE": *, "NOT": *, "SET_DEFERRED": *, "SET_IMMEDIATE": *} 來源
一個與可延遲約束相關的屬性集合。它可以用於使外鍵約束可延遲,並在事務中設定約束。這僅在 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 | * | 在宣告事務時使用。立即執行此事務中涉及的可延遲檢查。 |
公開 QueryTypes: * 來源
一個由 sequelize.query
使用的查詢類型枚舉
屬性
名稱 | 類型 | 屬性 | 描述 |
SELECT | * | ||
INSERT | * | ||
UPDATE | * | ||
BULKUPDATE | * | ||
BULKDELETE | * | ||
DELETE | * | ||
UPSERT | * | ||
VERSION | * | ||
SHOWTABLES | * | ||
SHOWINDEXES | * | ||
DESCRIBE | * | ||
RAW | * | ||
FOREIGNKEYS | * | ||
SHOWCONSTRAINTS | * |
公開 TableHints: * 來源
一個資料表提示的枚舉,用於在 mssql 中使用資料表提示進行查詢
屬性
名稱 | 類型 | 屬性 | 描述 |
NOLOCK | * | ||
READUNCOMMITTED | * | ||
UPDLOCK | * | ||
REPEATABLEREAD | * | ||
SERIALIZABLE | * | ||
READCOMMITTED | * | ||
TABLOCK | * | ||
TABLOCKX | * | ||
PAGLOCK | * | ||
ROWLOCK | * | ||
NOWAIT | * | ||
READPAST | * | ||
XLOCK | * | ||
SNAPSHOT | * | ||
NOEXPAND | * |
公開 ValidationErrorItemType: * 來源
一個由 ValidationErrorItem
類別內部使用的枚舉,將目前的 type
字串(如給定給 ValidationErrorItem.constructor())對應到我們新的 origin
值。