[英]In Sequelize model.destroy({ truncate: true }) does not reset primary key
在 Sequelize 中,我正在使用这个 function model.destory({ truncate: true }),它删除表中的所有数据。 但问题是它不会重置表中应设置为零的主键序列。 我正在使用 Mysql。有人说 Mysql 会自动重置主键序列,但在我的情况下并没有发生。
这是我的代码:
db.Booking.destroy({ truncate: { cascade: false } })
.then(() => {
res.json({ status: true });
}, (err) => {
console.log('truncate: ', err);
res.json(err);
});
您没有使用正确的语法:
db.Booking.destroy({ truncate: { cascade: false } })
那应该是:
db.Booking.destroy({ truncate : true, cascade: false })
请参阅文档。
如果您在任何情况下都使用自定义外键,请改用它
db.Booking.truncate({cascade: true, restartIdentity:true})
因为destroy
不会随意使用自定义外键
这个在文档中嵌套得很深
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.