【发布时间】:2013-10-01 21:40:36
【问题描述】:
下面是我们使用rails 3.1.6在mysql 5.5上执行的代码
Model.transaction do
model.events.destroy_all
2.times { model.events.create!(some_body) }
end
期望模型下总是有两个且只有两个事件对象。
当我在两个线程上运行此代码时,我经常会得到四个事件对象。我希望两个线程都能序列化事务块内的代码执行。显然交易不是这样工作的。
有没有一种常见的模式来做这种事情?
【问题讨论】:
标签: mysql ruby-on-rails activerecord transactions