我在Linode有一个主机,我正在尝试对其运行Rake任务,但是我收到一个mySQL错误,说它无法连接。看起来它认为它在dev上。我做了一些谷歌搜索,看到我可以做这样的事情:
bundle exec rails c
它加载了开发环境,我无法运行User.all
给我一个访问被拒绝错误。
如果我运行bundle exec rails c RAILS_ENV=production
,我会收到错误:
Rails.env=production database is not configured (ActiveRecord::AdapterNotSpecified)
但是,如果我通过网络访问它,一切都OK。之前我能够运行rake db:seed
所以我知道有一些解决方法。
使用生产凭证访问mySQL可以正常工作。
有什么想法吗?
答案 0 :(得分:52)
试试这个:
rails c production
或者,在开始时:
RAILS_ENV=production rails c
当你把它放在最后时,它认为你正在传递RAILS_ENV=production
作为参数。
答案 1 :(得分:2)
如果您想在Gemfile中当前捆绑包的上下文中运行您的控制台,并确保您使用Gemset:
bundle exec rails c production
答案 2 :(得分:0)
这对我有用。这取决于您的服务器及其所有依赖项的设置方式:
RAILS_ENV=production bundle exec rails console