use*_*110 6 ruby-on-rails rails-models rails-activerecord
所以我的模型对象上有一个方法,当行中的二进制字段从null更新为true时,它创建一个唯一的序列号.它实现如下:
class AnswerHeader < ApplicationRecord
before_save :update_survey_complete_sequence, if: :survey_complete_changed?
def update_survey_complete_sequence
maxval =AnswerHeader.maximum('survey_complete_sequence')
self.survey_complete_sequence=maxval+1
end
end
Run Code Online (Sandbox Code Playgroud)
我的问题是我需要锁定什么,以便同时更新两行不会导致两行具有相同的survey_complete_sequence?
如果可以锁定单个行而不是整个表,那将是一个好的,因为这是用户经常访问的表.
| 归档时间: |
|
| 查看次数: |
696 次 |
| 最近记录: |