提交 33354aa2 编写于 作者: K kennyj

Reset @column_defaults when assigning .

上级 4f8168ec
* Reset @column_defaults when assigning `locking_column`.
We had a potential problem. For example:
class Post < ActiveRecord::Base
self.column_defaults # if we call this unintentionally before setting locking_column ...
self.locking_column = 'my_locking_column'
end
Post.column_defaults["my_locking_column"]
=> nil # expected value is 0 !
*kennyj*
* Remove extra select and update queries on save/touch/destroy ActiveRecord model
with belongs to reflection with option `touch: true`.
......
......@@ -138,6 +138,7 @@ def locking_enabled?
# Set the column to use for optimistic locking. Defaults to +lock_version+.
def locking_column=(value)
@column_defaults = nil
@locking_column = value.to_s
end
......
......@@ -17,6 +17,7 @@ class LockWithoutDefault < ActiveRecord::Base; end
class LockWithCustomColumnWithoutDefault < ActiveRecord::Base
self.table_name = :lock_without_defaults_cust
self.column_defaults # to test @column_defaults caching.
self.locking_column = :custom_lock_version
end
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册