Database.yml и ссылки не работают

Мы просто обновили наши виртуальные машины до того, что я считал идентичной конфигурацией 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.

Ответ 2

Так как вы сделали обновление, возможно, что ваши права доступа к базе данных перепутались. Попробуйте просмотреть, что у вас есть необходимые разрешения, то есть на машине, на которой находится код, есть привилегии для подключения и изменения на машине базы данных. Глядя на вас database.yml, это должно быть что-то вроде " GRANT ALL PRIVILEGES ON productionbd.* to 'user'@'<app-server-ip>' identified by 'pass';