ActiveRecord::Base.connection
和ActiveRecord::Base.establish_connection
之间的区别是什么?
答案 0 :(得分:1)
ActiveRecord::Base.connection
- 返回当前连接
ActiveRecord::Base.establish_connection
- 设置连接
答案 1 :(得分:0)
ActiveRecord::Base.establish_connection
负责使用传入的选项哈希为数据库建立新的连接池。这决定了ActiveRecord::Base.connection
将创建的连接。
ActiveRecord::Base.connection
将尝试重用当前线程中当前定义的连接池中的连接,如果它找不到,将建立一个新的之一。
通常,如果需要获取数据库的连接实例,请使用ActiveRecord::Base.connection
。如果您需要更改要连接的数据库或任何数据库连接设置,请先致电ActiveRecord::Base.establish_connection
,然后任何需要连接的呼叫都将使用这些新设置。