【问题标题】:Rake db error: ERROR 1102 (42000) at line 1: Incorrect database name [nil]Rake db 错误:第 1 行的 ERROR 1102 (42000):数据库名称不正确 [nil]
【发布时间】:2011-03-21 21:52:24
【问题描述】:

我收到以下错误:

$ rake db:drop
(在 D:/Repository/MyApp 中)
~ [datamapper] 设置“开发”环境:
~ [datamapper] 设置 :default repository: '' on 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,服务器配置了正确的数据库、用户和密码。我正在使用数据映射器。这适用于我们的实时站点,但不适用于我的本地站点。运行'rails dbconsole'会产生“ruby192installationpath/dbconsole.rb:75: in 'exec': can't convert nil into String (TypeError).

以前有人遇到过这个问题吗?关于如何诊断或纠正它的任何建议?或者可能是一个简单的诊断命令,可以从终端、rails 或 rake 控制台运行以公开一些信息?也许可以验证它正在连接到数据库,或者如果不是问题是什么?

【问题讨论】:

    标签: ruby-on-rails database-connection datamapper


    【解决方案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'
    

    这成功了,解决了这个问题。 希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 2017-09-02
      • 2021-02-16
      • 2021-05-03
      • 1970-01-01
      • 1970-01-01
      • 2015-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多