rake db:create - Mysql2 ::错误:未知数据库

时间:2016-02-02 23:20:24

标签: ruby-on-rails ruby ruby-on-rails-3 rake

我正在尝试使用rake db:create任务创建数据库。

当我运行命令bundle exec rake db:create来创建数据库并加载架构时,我收到以下错误:

rake aborted!
Mysql2::Error: Unknown database 'xxx_development'

我的database.yml

development:
  adapter: mysql2
  host: localhost
  reconnect: true
  username: user
  password: password
  pool: 50
  database: xxx_development

我检查过mysql服务器正在运行,我可以使用database.yml

中的密码/用户名连接到它

我也理解我可以继续在mysql中创建数据库,然后运行bundle exec rake db:create但是rake任务db:create也不会创建数据库以防万一它不存在吗?

rails版本为3.2.22mysql2版本为2.9.13

任何指针都将受到高度赞赏。

4 个答案:

答案 0 :(得分:1)

如果您正在使用带有rake默认情况下运行的bundle exec捆绑器插件的ohmyzsh,您可以使用

unbundled_rake db:create

答案 1 :(得分:0)

我有两个想法。

  1. 检查用户权限
  2. 当我运行rake任务时,我不使用bundle exec(即只是rake db:create)
  3. 希望这是有帮助的

答案 2 :(得分:0)

尝试rake db:create RAILS_ENV=development希望这会有效

答案 3 :(得分:0)

在Rails 5上遇到了类似的问题,以下步骤帮助我解决了该问题:

Spring stop

./bin/rails db:create