Interface ForeignKeyOptions<ForeignKey>

Foreign Key Options

Type Parameters

  • ForeignKey extends string

Hierarchy

Properties

_autoGenerated?: boolean

This attribute was added by sequelize. Do not use!

allowNull?: boolean

If false, the column will have a NOT NULL constraint, and a not null validation will be run before an instance is saved.

Default

true

autoIncrement?: boolean

Is this field an auto increment field

autoIncrementIdentity?: boolean

If this field is a Postgres auto increment field, use Postgres GENERATED BY DEFAULT AS IDENTITY instead of SERIAL. Postgres 10+ only.

comment?: string

Comment to add on the column in the database.

defaultValue?: unknown

A literal default value, a JavaScript function, or an SQL function (using fn)

field?: string

The name of the column.

If no value is provided, Sequelize will use the name of the attribute (in snake_case if underscored is true)

fieldName?: string

Alias of name.

Deprecated

name?: ForeignKey

The name of the foreign key attribute.

Not to be confused with field which controls the name of the foreign key Column.

What should happen when the referenced key is deleted. One of CASCADE, RESTRICT, SET DEFAULT, SET NULL or NO ACTION

What should happen when the referenced key is updated. One of CASCADE, RESTRICT, SET DEFAULT, SET NULL or NO ACTION

primaryKey?: boolean

If true, this attribute will be marked as primary key

Makes this attribute a foreign key. You typically don't need to use this yourself, instead use associations.

Setting this value to a string equivalent to setting it to { model: 'myString' }.

unique?: string | boolean | {
    msg: string;
    name: string;
}

If true, the column will get a unique constraint. If a string is provided, the column will be part of a composite unique index. If multiple columns have the same string, they will be part of the same unique index

An object of validations to execute for this column every time the model is saved. Can be either the name of a validation provided by validator.js, a validation function provided by extending validator.js (see the DAOValidator property for more details), or a custom validation function. Custom validation functions are called with the value of the field, and can possibly take a second callback argument, to signal that they are asynchronous. If the validator is sync, it should throw in the case of a failed validation, it it is async, the callback should be called with the error text.

values?: readonly string[]

Usage in object notation

class MyModel extends Model {}
MyModel.init({
states: {
type: DataTypes.ENUM,
values: ['active', 'pending', 'deleted']
}
}, { sequelize })

Methods

  • Provide a custom getter for this column. Use getDataValue to access the underlying values.

    Parameters

    Returns unknown

  • Provide a custom setter for this column. Use setDataValue to access the underlying values.

    Parameters

    • this: Model<any, any>
    • val: unknown

    Returns void

Generated using TypeDoc