0
什麼被認爲是「最佳實踐」,或什麼時候應該包裹在事務塊中的一般經驗法則?何時應該使用ActiveRecord事務?
它主要就是當你要對事物集合執行操作時,並且如果某些事情中斷,你想要回滾?例如:
class User < ActiveRecord::Base
def mark_all_posts_as_read!
transaction do
posts.find_each { |p| p.update_attribute(:read, true) }
end
end
end
是否有其他情況下在事務內部執行事情會有好處?
我也使用rake任務中的事務。我從API中批量收集大量數據,然後圍繞「create」任務創建一個事務塊以加速插入......只有一個連接用於插入命令,而不是打開和關閉每個任務的連接。 – ScottJShea 2012-03-01 04:33:38