Rails:rake db:创建mysql错误

时间:2011-06-01 20:12:55

标签: mysql ruby-on-rails

我正在尝试设置一个mysql数据库,但我收到此错误消息:

rake db:create
(in /Users/yookd/Desktop/rails/blog)
WARNING: Global access to Rake DSL methods is deprecated.  Please Include
    ...  Rake::DSL into classes and modules which use the Rake DSL methods.
WARNING: DSL method Blog::Application#task called at /Library/Ruby/Gems/1.8/gems/railties-3.0.7/lib/rails/application.rb:215:in `initialize_tasks'
db/test.sqlite3 already exists
rake aborted!
uninitialized constant Mysql2

Tasks: TOP => db:create
(See full trace by running task with --trace)

对此有何帮助? (按照http://guides.rubyonrails.org/getting_started.html上的指示)

修改:::

如何使用mysql作为我的数据库而不是sqlite?在gemfile中,它明确指出:gem 'sqlite' ...我是否需要用gem mysql之类的内容替换该行?

2 个答案:

答案 0 :(得分:2)

这是一个已知问题。请参阅:Rails - rake db:create error

但请注意,Rake 0.9.1已经发布,据说可以解决问题。所以首先尝试使用以下方法升级rake:

gem update rake

并更新您的捆绑包:

bundle update rake

答案 1 :(得分:0)

对于您的编辑,是的,要使用mysql,您必须先在系统上安装并配置mysql。然后在你的gemfile中,删除'gem sqlite'并将其替换为:

gem 'mysql'

然后,在config / database.yml中,设置类似于:

的内容
development:
  adapter: mysql
  database: name_of_database
  pool: 5
  timeout: 5000
  host: localhost
  password: mysql_password

为测试和生产做同样的事情。