【问题标题】:What is default ActiveRecord isolation level for transaction事务的默认 ActiveRecord 隔离级别是什么
【发布时间】: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


    【解决方案1】:

    文档说明:

      # 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。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      • 2010-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-24
      • 1970-01-01
      相关资源
      最近更新 更多