我正在跟踪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,但似乎没有任何东西可以使它工作!
答案 0 :(得分:5)
当您的部署脚本或VPS上当前登录的用户未设置RAILS_ENV环境变量时,通常会发生这种情况。然后它默认为'development',你的database.yml将没有该环境的配置。所以试试
RAILS_ENV=production bundle exec rake db:migrate --trace
代替。
答案 1 :(得分:2)
腐败的yml文件为我解决了。
重命名并重新创建了database.yml文件并且工作正常。