Мы просто обновили наши виртуальные машины до того, что я считал идентичной конфигурацией ruby (через RVM... Ruby 1.9.2, Rails 3.0.7, DataMapper 1.1.0). Самая большая разница заключалась в том, что мы перешли от MySQL 5.0 до 5.1.
По какой-то причине тот же самый код /database.yml, который работал над нашими старыми виртуальными машинами, теперь терпит неудачу в наших новых, когда он пытается подключиться к базе данных.
Проблема в том, что этот YAML:
mysql_defaults: &mysql_defaults
adapter: mysql
encoding: UTF-8
username: user
password: pass
host: localhost
development:
<<: *mysql_defaults
database: devdb
production:
<<: *mysql_defaults
database: productiondb
host: master.db.site.com
Просто расширяется до:
"mysql_defaults" => {
"adapter"=>"mysql",
"encoding"=>"UTF-8",
"username"=>"user",
"password"=>"pass",
"host"=>"localhost"
},
"development" => {
"adapter"=>"mysql",
"encoding"=>"UTF-8",
"username"=>"user",
"password"=>"pass",
"host"=>"localhost"
},
"production" => {
"adapter"=>"mysql",
"encoding"=>"UTF-8",
"username"=>"user",
"password"=>"pass",
"host"=>"localhost"
}
Вместо:
"mysql_defaults" => {
"adapter"=>"mysql",
"encoding"=>"UTF-8",
"username"=>"user",
"password"=>"pass",
"host"=>"localhost"
},
"development" => {
"adapter"=>"mysql",
"encoding"=>"UTF-8",
"username"=>"user",
"password"=>"pass",
"host"=>"localhost",
"database"=>"devdb"
},
"production" => {
"adapter"=>"mysql",
"encoding"=>"UTF-8",
"username"=>"user",
"password"=>"pass",
"host"=>"master.db.site.com",
"database"=>"productiondb"
}
Кто-нибудь испытал это раньше?
В соответствии с Gemfile.lock(я удалил его и снова запустил установку пакета, просто для здравого смысла), все установленные зависимости одинаковы (т.е. Gemfile.lock не отличается от старой и новой установки). Также не работает database.yml.