【发布时间】:2011-09-02 16:28:42
【问题描述】:
我们刚刚将我们的虚拟机升级到了我认为相同的 ruby 配置(通过 RVM...Ruby 1.9.2、Rails 3.0.7、DataMapper 1.1.0)。最大的不同是我们从 MySQL 5.0 升级到 5.1。
由于某种原因,在我们的旧虚拟机上运行的完全相同的 code/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(我删除它并再次运行 bundle install,只是为了保持理智),所有已安装的依赖项都是相同的(即 Gemfile.lock 在旧设置和新设置之间没有区别)。 database.yml 也没有。
【问题讨论】:
-
当我在 irb 中(在同一台机器上)打开这个 yml 文件并用
YAML.load解析它时,它解析得很好。不知道 Rails/DataMapper 发生了什么。 -
您遇到了什么异常?
标签: ruby-on-rails ruby yaml datamapper