Что такое хороший способ обновить несколько записей с помощью столбцов hstore с помощью activerecord? Сейчас я циклически, обновление и сохранение как это:Rails update_all с hstore
time = Time.now.to_s
scoped_tasks.each do |task|
task.data[:last_checked] = time
task.save!
end
Есть ли способ сделать это с помощью update_all
запроса? Одно решение, которое я видел, выглядит следующим образом:
MyModel.update_all(:properties => ActiveRecord::Coders::Hstore.dump({'a' => 1}))
Но проблема в том, что переписывает весь столбец, поэтому другие значения теряются. Я также видел это:
MyModel.update_all("data = data || hstore('a', 'blah')")
Но по какой-то причине я вернусь 0
для значения. Похоже, что он будет работать, только если hstore пуст.