Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 运行rake db时出错:迁移_Mysql_Ruby On Rails 3_Vps - Fatal编程技术网

Mysql 运行rake db时出错:迁移

Mysql 运行rake db时出错:迁移,mysql,ruby-on-rails-3,vps,Mysql,Ruby On Rails 3,Vps,我在跟踪铁路公司,Ryan在那里建立了一个副总裁。但是我需要安装mysql而不是postgresql 当我运行cap deploy:cold命令时,它似乎运行得很好,直到它运行bundle,在尝试安装mysql2 gem时失败 因此,我登录到服务器并手动安装,因为数据库已经设置好了 但是,当我运行rake db:migrate命令时,我一直会遇到以下错误: rake aborted! database configuration does not specify adapter Tasks:

我在跟踪铁路公司,Ryan在那里建立了一个副总裁。但是我需要安装mysql而不是postgresql

当我运行cap deploy:cold命令时,它似乎运行得很好,直到它运行bundle,在尝试安装mysql2 gem时失败

因此,我登录到服务器并手动安装,因为数据库已经设置好了

但是,当我运行rake db:migrate命令时,我一直会遇到以下错误:

rake aborted!
database configuration does not specify adapter

Tasks: TOP => db:migrate => db:load_config
在database.yml文件中,我有以下内容

production:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: blog_production
  pool: 5
  username: blog
  password: *****
  host: localhost
  socket: /var/run/mysqld/mysqld.sock

我已经从默认状态编辑了套接字,添加和删除了主机行,并手动安装了gem,但似乎没有任何东西可以让它工作

当您的部署脚本或VPS上当前登录的用户没有设置RAILS_ENV环境变量时,通常会发生这种情况。然后它默认为“development”,您的database.yml将没有该环境的配置。所以试试看

RAILS_ENV=production bundle exec rake db:migrate --trace

相反。

损坏的yml文件为我解决了它


重命名并重新创建了database.yml文件,它成功了。

谢谢,我现在尝试了这个,但是我遇到了这个错误。。。雷克流产了!nil的未定义方法'accept':nilclass您能用trace参数运行它并发布结果吗?我更新了答案。我通过替换database.yml文件解决了这个问题,可能这个文件的缩进有问题,但现在它运行迁移时没有问题。。。凉的