MySQL сокет Ruby on Rails из среды - PullRequest
2 голосов
/ 24 ноября 2010

Я ненавижу иметь путь к сокету 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]

1 Ответ

3 голосов
/ 24 ноября 2010

У вас должен быть свой файл database.yml для каждой системы, поскольку он не должен быть зарегистрирован в вашей VCS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...