【发布时间】:2015-09-21 15:46:06
【问题描述】:
Ruby on Rails for PostgreSQL 或 MySQL 中事务的默认隔离级别是什么?
active_record/connection_adapters/abstract/database_statements.rb#L173
【问题讨论】:
标签: mysql ruby-on-rails ruby postgresql activerecord
Ruby on Rails for PostgreSQL 或 MySQL 中事务的默认隔离级别是什么?
active_record/connection_adapters/abstract/database_statements.rb#L173
【问题讨论】:
标签: mysql ruby-on-rails ruby postgresql activerecord
文档说明:
# If your database supports setting the isolation level for a transaction, you can set
# it like so:
#
# Post.transaction(isolation: :serializable) do
# # ...
# end
代码是:
def transaction(requires_new: nil, isolation: nil, joinable: true)
默认值为nil,表示您使用的数据库的默认隔离级别。
MySQL 的默认值为 :repeatable_read。
Postgress 的默认值为 :read_committed。
【讨论】: