我正在尝试设置一个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
之类的内容替换该行?
答案 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
为测试和生产做同样的事情。