Ich versuche, eine truncate und Massenerstellung innerhalb einer Transaktion mit Sequelize auszuführen. Der BulkCreate wird jedoch nie ausgeführt. Mein Code hierfür ist wie folgt:Sequelize bulkCreate innerhalb einer Transaktion
sequelize.transaction(function(t) {
return Item.destroy({ truncate: true, transaction: t }).then(() => {
return Item.bulkCreate(itemsArray, {transaction: t})
})
}).catch(function (err) {
logger.error('ERROR:' + err);
});
Die Protokolle hierfür sind wie folgt:
5:21:23 PM - info: Successfully connected to DB:XXX
Executing (default): CREATE TABLE IF NOT EXISTS `items` (`barcode`
VARCHAR(255) NOT NULL , `base` INTEGER, `original` INTEGER, `sale` INTEGER,
`extraSale` INTEGER, `date` DATETIME, PRIMARY KEY (`barcode`)) ENGINE=InnoDB;
Executing (default): SHOW INDEX FROM `items`
Executing (83dc186e-dec7-4814-94fd-f05cebc0e48b): START TRANSACTION;
Executing (83dc186e-dec7-4814-94fd-f05cebc0e48b): TRUNCATE `items`
5:21:02 PM - info: here
Executing (83dc186e-dec7-4814-94fd-f05cebc0e48b): COMMIT;
Wenn ich die Funktion so ändern, dass ich schaffe es verwenden, wie erwartet funktioniert.
Wer irgendwelche Ideen, warum BulkCreate nicht funktioniert?