如何使用手动签出的Rails连接

时间:2016-04-16 09:19:29

标签: ruby-on-rails ruby-on-rails-4

我有代码,我手动检查连接,如

connection = User.connection_pool.checkout

现在,我希望使用此连接来查询DB中的任何记录

有没有办法实现这一目标。

我不确定我想要对连接做什么,我只是获得了其他的然后再回来查看

理想情况下,我希望代码执行此操作。

  connection = User.connection_pool.checkout
  ... ## query

  User.connection_pool.checkin(connection)

注意:请不要回答我使用with_connection,此问题的关键是手动管理结帐/结帐。

任何线索??

1 个答案:

答案 0 :(得分:0)

在Rails 4.2中,实现这一目标的方法是......

connection = User.connection_pool.checkout

User.connection_pool.instance_variable_get(:'@reserved_connections')[Thread.current.object_id] ||= conn

User.first

User.connection_pool.checkin(conn)

这个作品。