Chúng tôi có một số mã thường được nhấn trong ứng dụng của chúng tôi mà increments một cột, như vậy:Tôi có thể tăng số nguyên tử trong Rails 2.3 mà không cần phải giảm xuống SQL không?
if (r = customer.find_or_generate_reminder)
r.counter += 1
r.save!
end
Chúng tôi vẫn bị timeout chờ khóa, vì vậy tôi đang suy nghĩ về việc này một hoạt động nguyên tử. Naively, những gì tôi muốn làm như thế này:
if (r = customer.find_or_generate_reminder)
connection.excute('UPDATE customer_reminders SET counter=counter+1, updated_at=now() WHERE id = ' + r.id)
end
Có cách nào khác để làm điều tương tự?
Chúng tôi đã chuyển về từ vấn đề này, nhưng điều đó trông giống như một giải pháp tốt. Cảm ơn! – Simon