Selective optimistic locking

Marcin Simonides wrote:

  def increment_view_count!     Photo.transaction do       lock!       # optimistic lock must by turned off for this update       increment(:views)       update_without_lock     end   end

If you don't need to read the current view count when incrementing, an alternative is:

def increment_view_count!    Photo.increment_counter(:views, id) end