Database.yml配置选项

时间:2011-10-22 17:28:00

标签: ruby-on-rails ruby-on-rails-3 activerecord

我想知道在哪里可以阅读有关ActiveRecord的database.yml的有效配置选项。我知道基本的,如适配器,数据库,用户名,密码等,但我想有每个适配器的完整列表。我在哪里可以找到它?

1 个答案:

答案 0 :(得分:5)

我找到了gist of database.yml examples using mysql, postgres, and sqlite3Rails 3.2 source code for connection adapters也提供了很好的见解。

在我看来,以下是最广泛使用的选项:

  • 适配器
  • 编码
  • 数据库
  • 用户名
  • 密码
  • 插座
  • 宿主
  • 端口
  • 超时

Rails 3.2 connection_specification.rb文件看起来只是合并你包含的任何选项,所以我要说你包含的选项取决于你选择使用的数据库适配器(第58-74行):

def connection_url_to_hash(url) # :nodoc:
  config = URI.parse url
  adapter = config.scheme
  adapter = "postgresql" if adapter == "postgres"
  spec = { :adapter  => adapter,
           :username => config.user,
           :password => config.password,
           :port     => config.port,
           :database => config.path.sub(%r{^/},""),
           :host     => config.host }
  spec.reject!{ |_,value| !value }
  if config.query
    options = Hash[config.query.split("&").map{ |pair| pair.split("=") }].symbolize_keys
    spec.merge!(options)
  end
  spec
end