跳至內容跳至搜尋
方法
L
R
U

常量

DEFAULT_LOCKING_COLUMN = "lock_version"
 

屬性

[R] locking_column

用於樂觀鎖定的版本欄位。預設為 lock_version

物件公開方法

locking_column=(value)

設定用於樂觀鎖定的欄位。預設為 lock_version

# File activerecord/lib/active_record/locking/optimistic.rb, line 165
def locking_column=(value)
  reload_schema_from_cache
  @locking_column = value.to_s
end

locking_enabled?()

如果 lock_optimistically 旗標設定為 true (預設為 true),且資料表包含 locking_column 欄位 (預設為 lock_version),則傳回 true。

# File activerecord/lib/active_record/locking/optimistic.rb, line 160
def locking_enabled?
  lock_optimistically && columns_hash[locking_column]
end

reset_locking_column()

將用於樂觀鎖定的欄位重設回預設值 lock_version

# File activerecord/lib/active_record/locking/optimistic.rb, line 174
def reset_locking_column
  self.locking_column = DEFAULT_LOCKING_COLUMN
end

update_counters(id, counters)

在計數器更新時,確定鎖定版本欄位更新。

# File activerecord/lib/active_record/locking/optimistic.rb, line 180
def update_counters(id, counters)
  counters = counters.merge(locking_column => 1) if locking_enabled?
  super
end