Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rake db错误:第1行的错误1102(42000):数据库名称不正确[nil]_Ruby On Rails_Database Connection_Datamapper - Fatal编程技术网

Ruby on rails Rake db错误:第1行的错误1102(42000):数据库名称不正确[nil]

Ruby on rails Rake db错误:第1行的错误1102(42000):数据库名称不正确[nil],ruby-on-rails,database-connection,datamapper,Ruby On Rails,Database Connection,Datamapper,我得到以下错误: $rake db:drop (在D:/Repository/MyApp中) ~[datamapper]设置“开发”环境: ~[datamapper]设置:mysql上的默认存储库:“” 第1行出现错误1102(42000):数据库名称“”不正确 以下是my database.yml文件: defaults: &defaults adapter: mysql encoding: utf8 reconnect: false pool: 5 usernam

我得到以下错误:

$rake db:drop
(在D:/Repository/MyApp中)
~[datamapper]设置“开发”环境:
~[datamapper]设置:mysql上的默认存储库:“”
第1行出现错误1102(42000):数据库名称“”不正确

以下是my 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
defaults:&defaults
适配器:mysql
编码:utf8
重新连接:false
游泳池:5
用户名:dbuser
密码:******
发展:
数据库:myapp_开发
主持人:127.0.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'
这就成功了,解决了这个问题。 希望能有帮助