我正在尝试对比赛条件实施乐观锁定。为此,我在“产品:通过迁移进行建模”中添加了额外的列lock_version
。
产品:型号的新字段:
# lock_version :integer(4) default(0), not null
当我尝试save!
时,乐观锁定正在起作用。记录,updatedat和lock_version
正在更新。
但是,在现有的源代码中,我们使用的是updated_all
,它不会更新updated_at
和lock_version
。因此,乐观锁定不起作用。请提出建议,如何对updated_all
Product.where(:id => self.id).update_all(attributes)
self.attributes = attributes
答案 0 :(得分:0)
我们可以简单地这样做。(如果不需要回调。)
schedule.every(1).minutes.do(self.local,script_path)
这将查找具有匹配lock_version的记录并更新lock_version。