Я хочу установить столбец «блокировка» в строке, только если он еще не установлен.Условия гонки вероятны, а производительность важна, поэтому это нужно сделать одним запросом.Я думаю, что решение должно выглядеть следующим образом:
class MyModel
def lock(worker)
cnt = MyModel.where(id: self.id, lock: nil).update_all(:lock=>worker.name)
cnt == 1
end
end
Действительно ли метод update_all
возвращает количество произведенных строк, как в DataMapper?