【问题标题】:What are all possible keys for database.ymldatabase.yml 的所有可能键是什么
【发布时间】:2015-11-09 14:55:32
【问题描述】:

我刚刚发现reconnect: true 配置选项可以在database.yml 文件中使用。 还有哪些其他可能的配置选项?是否有所有选项的完整参考?

已知关键示例:

default: &default
  adapter: mysql2
  encoding: utf8
  pool: 5
  username: foo
  password: bar
  reconnect: true
  socket: /var/sock/thing.sock

development:
  <<: *default
  database: app_development

【问题讨论】:

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


    【解决方案1】:

    我认为没有任何地方只列出它们,但我检查了 ActiveRecord 的 ConnectionAdapaters。请记住,选项会更改您使用的数据库,但这已在 MySQL 连接适配器中列出。

    MySQL 的选项列表

    :host - Defaults to "localhost".
    :port - Defaults to 3306.
    :socket - Defaults to "/tmp/mysql.sock".
    :username - Defaults to "root"
    :password - Defaults to nothing.
    :database - The name of the database. No default, must be provided.
    :encoding - (Optional) Sets the client encoding by executing "SET NAMES <encoding>" after connection.
    :reconnect - Defaults to false (See MySQL documentation: http://dev.mysql.com/doc/refman/5.7/en/auto-reconnect.html).
    :strict - Defaults to true. Enable STRICT_ALL_TABLES. (See MySQL documentation: http://dev.mysql.com/doc/refman/5.7/en/sql-mode.html)
    :variables - (Optional) A hash session variables to send as SET @@SESSION.key = value on each database connection. Use the value +:default+ to set a variable to its DEFAULT value. (See MySQL documentation: http://dev.mysql.com/doc/refman/5.7/en/set-statement.html).
    :sslca - Necessary to use MySQL with an SSL connection.
    :sslkey - Necessary to use MySQL with an SSL connection.
    :sslcert - Necessary to use MySQL with an SSL connection.
    :sslcapath - Necessary to use MySQL with an SSL connection.
    :sslcipher - Necessary to use MySQL with an SSL connection.
    

    Rails ActiveRecord 适配器的 github,https://github.com/rails/rails/tree/master/activerecord/lib/active_record/connection_adapters

    编辑: 添加@pjrebsch 在下面评论的内容。您还可以在Mysql2 gem's Readme 上查看 MySQL 选项

    【讨论】:

    • 令我吃惊的是,对于如此成熟和流行的框架,这不是文档的一部分。您正在查看哪个文件来获取此列表?您的链接中有很多代码。
    • 我可以发誓它在 mysql2_adapter.rb 中,但它似乎不再有任何文档 cmets。希望这仍然反映 3 年后的选择;)
    • 至少在 MySQL 的情况下,Rails 将配置选项传递给Mysql2::Client.new。可以在in the gem's readme找到其接受选项的文档。
    猜你喜欢
    • 2010-11-26
    • 1970-01-01
    • 1970-01-01
    • 2021-05-14
    • 2013-10-12
    • 2014-07-06
    • 2016-02-08
    • 1970-01-01
    • 2012-09-20
    相关资源
    最近更新 更多