const MUser = sequelize.define(
"user_list",
{
id: {
type: DataTypes.INTEGER,
primaryKey: true, //是否为主键
},
name: {
type: DataTypes.STRING(255),
allowNull: false, //是否允许为空值
},
create_time: DataTypes.DATE,
},
{
freezeTableName: true,
timestamps: false,
}
);
modelName:模型名称,自定义 上述中 user_list为模型名称
attributes:模型中包含都数据,每一个数据映射对应表中都每一个字段,define第二个对象参数为attributes
type:字段类型,String|DataTypes
allowNull:是否允许为空,默认为true
defaultValue:默认值,默认为null
unique:值唯一,默认为false
primaryKey:是否为主键,默认为false
options:模型(表)的设置,define第三个对象参数为options
timestamps:是否给每条记录添加 createdAt 和 updatedAt 字段,并在添加新数据和更新数据的时候自动设置这两个字段的值,默认为true
paranoid:设置 deletedAt 字段,当删除一条记录的时候,并不是真的销毁记录,而是通过该字段来标示,即保留数据,进行假删除,默认为false
freezeTableName:禁用修改表名; 默认情况下,sequelize将自动将所有传递的模型名称(define的第一个参数)转换为复数。 默认为false
tableName:手动设置表的实际名称
定义表索引 indexes:Array<Object>
每个索引对象可以设置的值
name:索引名称,默认模型名称+字段
fields: Array<string>,索引字段
unique:唯一索引,默认false
DataTypes都有哪些类型
STRING
CHAR
TEXT
INTEGER
BIGINT
FLOAT
REAL
DOUBLE
DECIMAL
BOOLEAN
TIME
DATE
DATEONLY
HSTORE
JSON
JSONB
NOW
BLOB
RANGE
UUID
UUIDV1
UUIDV4
VIRTUAL