変数
静的公開サマリー | ||
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: * ソース
一般的に使用されるデータ型を保持する便利なクラスです。これらのデータ型は、次のように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
プロパティを公開します。
ここで提供されている値のうち3つ(NOW
、UUIDV1
、UUIDV4
)は、型を定義するために使用してはならない特別なデフォルト値です。代わりに、デフォルト値を定義するための省略形として使用されます。たとえば、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 ValidationErrorItemType: * ソース
ValidationErrorItem
クラスによって内部的に使用される列挙型で、現在のtype
文字列(ValidationErrorItem.constructor()に渡されるもの)を新しいorigin
値にマッピングします。