Rails4 から ActiveRecord::Base.transaction に分離レベルを手軽に設定できるようになったみたいです。

1
2
3
ActiveRecord::Base.transaction(isolation: :serializable) do
  ...
end

分離レベルには次の4つを設定できます。

  • :read_uncommitted
  • :read_committed
  • :repeatable_read
  • :serializable