指南 參考 原始碼

變數

靜態公開摘要
公開

一個方便的類別,用於存放常用的資料類型。

公開

Deferrable: {"INITIALLY_DEFERRED": *, "INITIALLY_IMMEDIATE": *, "NOT": *, "SET_DEFERRED": *, "SET_IMMEDIATE": *}

一個與可延遲約束相關的屬性集合。

公開

一個索引提示的枚舉,用於在 mysql 中使用索引提示進行查詢

公開

一個由 sequelize.query 使用的查詢類型枚舉

公開

一個資料表提示的枚舉,用於在 mssql 中使用資料表提示進行查詢

公開

一個定義有效 ValidationErrorItem origin 值的枚舉

公開

一個由 ValidationErrorItem 類別內部使用的枚舉,將目前的 type 字串(如給定給 ValidationErrorItem.constructor())對應到我們新的 origin 值。

靜態公開

公開 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) 都會公開屬性 UNSIGNEDZEROFILL
  • CHARSTRING 類型會公開 BINARY 屬性

此處提供的三個值 (NOW, UUIDV1UUIDV4) 是特殊的預設值,不應被用於定義類型。相反,它們被用作定義預設值的簡寫。例如,要取得一個 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 *

在宣告事務時使用。立即執行此事務中涉及的可延遲檢查。

公開 IndexHints: * 來源

一個索引提示的枚舉,用於在 mysql 中使用索引提示進行查詢

屬性

名稱類型屬性描述
USE *
FORCE *
IGNORE *

公開 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 *

公開 ValidationErrorItemOrigin: * 來源

一個定義有效 ValidationErrorItem origin 值的枚舉

公開 ValidationErrorItemType: * 來源

一個由 ValidationErrorItem 類別內部使用的枚舉,將目前的 type 字串(如給定給 ValidationErrorItem.constructor())對應到我們新的 origin 值。