mysql - 环境中的 Ruby on Rails MySQL 套接字

标签 mysql ruby-on-rails ruby

我讨厌将 MySQL 套接字的路径硬编码到我的 Rails YAML 文件中。如果您想在一堆不同的系统上运行应用程序进行开发,它往往会破坏事情。有什么官方方法可以让它使用环境变量或类似变量吗?目前我使用这个:

diff --git a/vendor/rails/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb b/vendor/rails/activerecord/
index 69e97b9..992387c 100644
--- a/vendor/rails/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb
+++ b/vendor/rails/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb
@@ -50,7 +50,7 @@ module ActiveRecord
       config = config.symbolize_keys
       host     = config[:host]
       port     = config[:port]
-      socket   = config[:socket]
+      socket   = ENV['MYSQL_SOCK'] || config[:socket]
       username = config[:username] ? config[:username].to_s : 'root'
       password = config[:password].to_s
       database = config[:database]

最佳答案

您应该为每个系统拥有不同的database.yml 文件,因为不应将其检入您的VCS。

关于mysql - 环境中的 Ruby on Rails MySQL 套接字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4269847/

相关文章:

mysql - 在MySQL中进行特殊排序,3个随机最高分,比所有随机

ruby-on-rails - Rails 教程 3 第 7 章 : User Model Rspec Test Failing

javascript - Rails javascript 资源冲突

ruby-on-rails - 用户首次登录时显示对话框

mysql - play framework 2上传文件到mySQL

mysql - 获取左连接子查询为空(未找到)的行

ruby-on-rails - db :reset 后 Postgres 函数未保留

css - 使用 rails 和 bootstrap 时不显示占位符文本

ruby - 在不读取 Ruby 中的标题行的情况下打开 CSV

mysql - 使用 '--skip-slave-start' 启动 mysql 复制服务器