sequelize中为什么会把`isDelete`as`is_delete`
queryInterface.createTable("tags",{
id:{ type:INTEGER, primaryKey:true, autoIncrement:true},
name:STRING(30),
isDelete:BOOLEAN,
createdAt:{
type:DATE,
// 可以重写某个字段的字段名
field:"createdAt",
allowNull:false,
defaultValue:NOW
},
updatedAt:{
type:DATE,
field:"updatedAt",
allowNull:false,
defaultValue:NOW
}
})
上面是表,然后查询的时候
ctx.model.Tag.findAndCountAll({limit:10,offset:0})
报错
...
SELECT `id`, `name`, `is_delete` AS `isDelete`, `created_at` AS `createdAt`, `updated_at` AS `updatedAt` FROM `tags` AS `tag` LIMIT 0, 10;
...
nodejs.SequelizeDatabaseError: Unknown column 'is_delete' in 'field list'
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
就是为了起个别名,为了好理解。可以能字段名不太好理解,换个自己觉得更好的名。
别名,大概率是因为变量命名规则在不同的语言下有着不同的标准,不按照标准,代码静态检查会检查出一堆问题。
const sequelize = new Sequelize('database', 'username', null, { operatorsAliases: false })
定义模型的时候写上
underscore
选项即可