我正在研究数据库锁定,以确保在多用户参与下进行安全的数据事务。
机器已安装乘客。
添加“ lock_version”(整数)后,不再可以通过控制台修改记录。
比方说
lesson = Lesson.find(1)
lesson.start_time = Time.now
lesson.save
=> then, ActiveRecord::StaleObjectError: Attempted to update a stale object: Lesson
但是,极少有机会保存一列,这让我很困惑。
rails版本是4.2.8
非常感谢许多想法..
最佳
答案 0 :(得分:0)
所以事实证明,为了使用乐观锁,我应该添加具有初始值0(整数)而不是null的lock_version。尽管在Rails控制台中记录显示为0,但是在数据库中它实际上为null。 !