Reputation:
In Sequelize, I am using this function model.destory({ truncate: true }), it delete all data in table. But the issue is that it does not reset the primary key sequence in table which should be set to Zero. I am using Mysql. Some said that Mysql automatically reset the primary key sequence, but it is not happening in my case.
Here is my code:
db.Booking.destroy({ truncate: { cascade: false } })
.then(() => {
res.json({ status: true });
}, (err) => {
console.log('truncate: ', err);
res.json(err);
});
Upvotes: 6
Views: 23859
Reputation: 750
if you are, in any case, using a custom foreign key, use this instead
db.Booking.truncate({cascade: true, restartIdentity:true})
as destroy
would not work at will with custom foreign key
this one is nested pretty deep in the documentation
Upvotes: 0
Reputation: 203409
You're not using the correct syntax:
db.Booking.destroy({ truncate: { cascade: false } })
That should be:
db.Booking.destroy({ truncate : true, cascade: false })
See the documentation.
Upvotes: 19