创建函数中的枚举数据类型存在问题



我创建了带有id(主键(,标题,创建于,更新于,状态的"博客"表(枚举类型具有值"活动,非活动,隐藏",默认值为"活动"(

博客模型上的创建函数在从上述值集和空值中给出状态值时工作正常

const Blog = sequelize.define('blog', { id: { type: 
Sequelize.INTEGER, 
primaryKey: true, autoIncrement: true }, text: Sequelize.STRING, 
status : { type : Sequelize.ENUM, allowNull : false, values : 
['Inactive','Active','Hidden'], defaultValue : 'Active' } }); 
Blog.create({"title" :"hello","status":"abc"}).then(result => {
console.log(result);
});

上面的代码在博客表中插入了一条状态为空值的新记录,但结果对象的状态为"abc"。如何获取新插入的记录?

你应该像这样定义ENUM

status : { 
type : Sequelize.ENUM('Inactive','Active','Hidden'), 
allowNull : false, 
defaultValue : 'Active',
validate: {
isIn: { 
args: [['Inactive','Active','Hidden']],
msg: "Wrong status"
}
}
}

为了验证枚举值,您可以按属性验证使用

相关内容

最新更新