我收到以下错误:
$ rake db:drop
(在D:/ Repository / MyApp中)
〜[datamapper]设置“开发”环境:
〜[datamapper]设置:默认存储库:''在mysql上 第1行的错误1102(42000):数据库名称错误''
以下是我的database.yml文件:
defaults: &defaults
adapter: mysql
encoding: utf8
reconnect: false
pool: 5
username: dbuser
password: ******
development:
database: myapp_development
host: 127.0.0.1
<<: *defaults
test:
database: myapp_test
host: 127.0.0.1:3306
<<: *defaults
production:
database: myapp_production
host: mysql.myapp.com
<<: *defaults
我在Windows平台上运行mysql 5.5服务器,使用Ruby 1.9.2和Rails 3,并且服务器配置了正确的数据库,用户和密码。我正在使用datamapper。这适用于我们的实际网站,但不适用于我的本地网站。运行'rails dbconsole'会产生“ruby192安装路径/ dbconsole.rb:75:'exec':无法将nil转换为String(TypeError)。
之前有没有人遇到这个问题?有关如何诊断或纠正它的任何建议?或者也许是一个简单的诊断命令,可以从终端,rails或rake控制台运行以暴露一些信息?也许可以验证它是否连接到数据库,或者如果不是问题是什么?
答案 0 :(得分:1)
我遇到了同样的错误,并通过另一篇文章发现它实际上是由YAML解析错误引起的。 这让人记住,在使用Ruby 1.9.2设置Mongoid时,我必须在config / environment.rb中包含以下内容
#Add this to config/environment.rb at the top
require 'yaml'
YAML::ENGINE.yamler= 'syck'
这就是诀窍并解决了这个问题。 希望它有所帮助。