ガイド リファレンス ソースコード

変数

静的公開サマリー
public

一般的に使用されるデータ型を保持する便宜的なクラス。

public

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

遅延可能制約に関連するプロパティのコレクション。

public

MySQLクエリでインデックスヒントを使用するためのインデックスヒントの列挙型です。

public

sequelize.queryで使用されるクエリのタイプの列挙型です。

public

MSSQLクエリでテーブルヒントを使用するためのテーブルヒントの列挙型です。

public

有効なValidationErrorItemのorigin値を定義する列挙型です。

public

ValidationErrorItemクラスによって内部的に使用される列挙型で、現在のtype文字列(ValidationErrorItem.constructor()に渡されるもの)を新しいorigin値にマッピングします。

静的公開

public DataTypes: * ソース

一般的に使用されるデータ型を保持する便利なクラスです。これらのデータ型は、次のようにSequelize.defineを使用して新しいモデルを定義する際に使用されます。

sequelize.define('model', {
  column: DataTypes.INTEGER
})

モデルを定義する際に、型として文字列を渡すこともできますが、ここで定義されている型を使用する方が多くの場合、利点があります。たとえば、DataTypes.BLOBを使用すると、その列はSequelizeによってフェッチされた際にBufferのインスタンスとして返されます。

データ型の長さを持たせるには、関数のように呼び出すことができます: INTEGER(2)

一部のデータ型には、データ型を変更するためにアクセスできる特別なプロパティがあります。たとえば、ゼロフィル付きの符号なし整数を取得するには、DataTypes.INTEGER.UNSIGNED.ZEROFILLを実行します。プロパティへのアクセスの順序は関係ありません。そのため、DataTypes.INTEGER.ZEROFILL.UNSIGNEDでも問題ありません。

  • すべての数値型(INTEGERBIGINTFLOATDOUBLEREALDECIMAL)は、UNSIGNEDZEROFILLのプロパティを公開します。
  • CHAR型とSTRING型は、BINARYプロパティを公開します。

ここで提供されている値のうち3つ(NOWUUIDV1UUIDV4)は、型を定義するために使用してはならない特別なデフォルト値です。代わりに、デフォルト値を定義するための省略形として使用されます。たとえば、UUID標準のv1に従って生成されたデフォルト値を持つuuidフィールドを取得するには、次のようにします。

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": *} ソース

遅延可能制約に関連するプロパティのコレクションです。これを使用して、外部キー制約を遅延可能にし、トランザクション内で制約を設定できます。これは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: * ソース

MySQLクエリでインデックスヒントを使用するためのインデックスヒントの列挙型です。

プロパティ

名前属性説明
USE *
FORCE *
IGNORE *

public QueryTypes: * ソース

sequelize.queryで使用されるクエリのタイプの列挙型です。

プロパティ

名前属性説明
SELECT *
INSERT *
UPDATE *
BULKUPDATE *
BULKDELETE *
DELETE *
UPSERT *
VERSION *
SHOWTABLES *
SHOWINDEXES *
DESCRIBE *
RAW *
FOREIGNKEYS *
SHOWCONSTRAINTS *

参照

public TableHints: * ソース

MSSQLクエリでテーブルヒントを使用するためのテーブルヒントの列挙型です。

プロパティ

名前属性説明
NOLOCK *
READUNCOMMITTED *
UPDLOCK *
REPEATABLEREAD *
SERIALIZABLE *
READCOMMITTED *
TABLOCK *
TABLOCKX *
PAGLOCK *
ROWLOCK *
NOWAIT *
READPAST *
XLOCK *
SNAPSHOT *
NOEXPAND *

public ValidationErrorItemOrigin: * ソース

有効なValidationErrorItemのorigin値を定義する列挙型です。

public ValidationErrorItemType: * ソース

ValidationErrorItemクラスによって内部的に使用される列挙型で、現在のtype文字列(ValidationErrorItem.constructor()に渡されるもの)を新しいorigin値にマッピングします。