运行rake db:migrate时出错

时间:2012-05-03 22:04:46

标签: mysql ruby-on-rails-3 vps

我正在跟踪Ryan设置VPS的轨道广播。但我需要安装mysql而不是postgresql。

当我运行cap deploy:cold命令时,它似乎运行正常,直到它运行捆绑包,在尝试安装mysql2 gem时失败。

所以我登录到服务器并手动安装(数据库已经设置好了)。

但是当我运行rake db:migrate命令时,我不断收到此错误:

rake aborted!
database configuration does not specify adapter

Tasks: TOP => db:migrate => db:load_config
在data.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,但似乎没有任何东西可以使它工作!

2 个答案:

答案 0 :(得分:5)

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

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

代替。

答案 1 :(得分:2)

腐败的yml文件为我解决了。

重命名并重新创建了database.yml文件并且工作正常。