Rails:自动检测数据库适配器

Dex*_*Dex 5 database ruby-on-rails

新版本的ar-extensions gem要求您自己加载适当的适配器.在我的开发方面,我使用mysql,但Heroku使用PostgreSQL.

例如,在我的开发方面,我需要这样做:

require 'ar-extensions/adapters/mysql'
require 'ar-extensions/import/mysql'
Run Code Online (Sandbox Code Playgroud)

如何使用audo检测要使用的适配器?

Jas*_*red 12

ActiveRecord::Base.configurations[Rails.env]['adapter'] 将为您提供正在使用的适配器的名称.

以下代码应该做你想要的:

db_adapter = ActiveRecord::Base.configurations[Rails.env]['adapter']
require "ar-extensions/adapters/#{db_adapter}"
require "ar-extensions/import/#{db_adapter}"
Run Code Online (Sandbox Code Playgroud)