ruby-on-rails 错误代码:未知数据库

mbjcgjjk  于 2022-12-01  发布在  Ruby
关注(0)|答案(5)|浏览(138)

我正在尝试使用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
任何指示将高度赞赏。

elcex8rz

elcex8rz1#

如果您正在使用ohmyzsh和bundler插件,该插件使rake在默认情况下与bundle exec一起运行,则可以使用

unbundled_rake db:create
s4n0splo

s4n0splo2#

在Rails 5上遇到了一个类似的问题,以下步骤帮助我修复了它:

Spring stop

./bin/rails db:create
xytpbqjk

xytpbqjk3#

我有两个想法。
1.检查用户权限
1.当我运行rake任务时,我不使用bundle exec(即只使用rake db:create)
希望这对你有帮助

xam8gpfp

xam8gpfp4#

尝试rake db:create RAILS_ENV=development,希望这将工作

ncgqoxb0

ncgqoxb05#

由于某种原因,rails db:create失败了,但我的解决方法是
直接在mysql中创建数据库

sudo mysql
create database myapp_development;
create database myapp_test;

之后正常运行

rake db:migrate db:seed

相关问题