0

我正在研究数据库锁定以确保多用户参与中的安全数据事务。

机器安装有乘客。

添加'lock_version'(整数)后,无法通过控制台修改记录。

比方说,

lesson = Lesson.find(1)
lesson.start_time = Time.now
lesson.save 

=> then, ActiveRecord::StaleObjectError: Attempted to update a stale object: Lesson

但是,有一个非常难得的机会,保存了一列,这让我很困惑。

导轨版本是 4.2.8

非常感谢许多想法..!

最好的

4

1 回答 1

0

所以事实证明,为了使用乐观锁定,我应该添加具有初始值 0(整数)的 lock_version,而不是 null。虽然在 Rails 控制台记录显示为 0,但在数据库中它实际上是空的。!

于 2019-05-30T01:09:32.007 回答