d11*_*wtq 8 ruby yaml ruby-on-rails datamapper
我们刚刚将虚拟机升级到我认为相同的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
Run Code Online (Sandbox Code Playgroud)
只是扩展到:
"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"
}
Run Code Online (Sandbox Code Playgroud)
代替:
"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"
}
Run Code Online (Sandbox Code Playgroud)
以前有人经历过吗?
根据Gemfile.lock(我删除它并再次运行bundle install,只是为了理智),所有已安装的依赖项都是相同的(即Gemfile.lock在旧设置和新设置之间不区分).database.yml也不是.
rub*_*ish 18
Psych是新的YAML解析器,它可能更好但不能合并散列键.
| 归档时间: |
|
| 查看次数: |
5087 次 |
| 最近记录: |