Я пытаюсь реализовать Оптимистическую блокировку для состояния гонки.Для этого я добавил дополнительный столбец lock_version
в Продукт: Модель через миграцию.
Продукт: Новое поле модели:
# lock_version :integer(4) default(0), not null
Когда я пытаюсь save!
Оптимистическая блокировказа работой.Записи, updated_at и lock_version
получают обновления.
Однако в существующем исходном коде мы используем updated_all
, который не обновляет updated_at
и lock_version
.Так что оптимистическая блокировка не работает.Подскажите пожалуйста, как реализовать оптимистичный для updated_all
Product.where(:id => self.id).update_all(attributes)
self.attributes = attributes