TRANSACTION可以使用sequelize吗?

Hub*_*bro 2 javascript mysql transactions node.js sequelize.js

我使用的脚本首先将我所有行的状态设置为0,然后分别将某些行的状态设置为不同的值.这是每分钟完成一次.我已经多次注意到我可以在我的数据库上执行SELECT并获得完全不正确的结果,因为我的许多或所有行都具有0状态.这似乎是每分钟一秒的间隙,其中SELECT将获得不正确的数据.

我曾经想过使用sequelize QueryChainer,但是这仍然是不够的,因为选择查询可以很容易地获取一些不正确的数据,而chainer正在做它的事情.

所以我想知道sequelize是否有一种确保我的所有查询都被保留并立即发送的方法,因为我猜它没有实际的TRANSACTION支持.

lui*_*bal 12

截至提交cf8cd6eb769f2470b58c95e49114c05cdd1e3653(2013年11月下旬),Sequelize现在支持交易.这最近已在npm(1.7.0和2.0.0分支)中提供.在pull请求中描述了API .

你需要这样的东西:

sequelize.transaction(function(t) {
   Table.update({status: 0}, {}, { transaction: t });
   t.commit().success(function () { ... });
};
Run Code Online (Sandbox Code Playgroud)

  • 注意:我知道这个问题已经超过一年了,并且已经接受了答案,但我认为这对来自谷歌的人来说仍然有用. (2认同)