如何使用AR执行以下SQL语句:
UPDATE accounts SET balance = balance + 100 WHERE id = 1
我试图找到在AR更新语句中执行SQL表达式的方法,但没有任何工作。我可以不做类似
的事情account.update balance: account.balance + 100
因为这会打开各种竞争条件问题。 DBMS是处理此类更新的适当实体。
知道如何使用AR编写它吗?
我意识到这可以通过以下方式完成:
Account.where(id: 1).update_all("balance = balance + 100")
但这对我来说非常像 un-rails 。我希望有一个更清洁的解决方案