Sequelize rollback对我的交易不起作用。
这是一个示例代码:
NSURLConnection
我检查了控制台:
执行(aaf94974-d646-4056-9cfa-0c53f1b1b3e3):START TRANSACTION;
执行(aaf94974-d646-4056-9cfa-0c53f1b1b3e3):SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE;
执行(默认):DELETE FROM任务WHERE id = 6
执行(aaf94974-d646-4056-9cfa-0c53f1b1b3e3):ROLLBACK;
但回滚不起作用。
答案 0 :(得分:1)
这在sequalize文档中没有描述,但我找到了usage example in sequalize tests。
return this.sequelize.query(query, { transaction: t }).bind(this).then(function() {
return this.User.create({ name: 'foo' });
})
因此,您只需将transaction
选项传递给query
来电:
return sequelize.query('DELETE FROM Task WHERE id=:id',
{
replacements:{"id":id},
type: sequelize.QueryTypes.SELECT
})