【发布时间】:2012-02-04 01:20:03
【问题描述】:
我在 Linode 有一个主机,我试图在它上面运行一个 Rake 任务,但是我收到一个 mySQL 错误,说它无法连接。看起来它认为它在开发中。我做了一些谷歌搜索,发现我可以做这样的事情:
bundle exec rails c
它加载了开发环境,我无法运行User.all,给我一个拒绝访问错误。
如果我运行 bundle exec rails c RAILS_ENV=production 我会收到错误:
Rails.env=production database is not configured (ActiveRecord::AdapterNotSpecified)
但是,如果我通过网络访问它,一切正常。我之前能够运行rake db:seed,所以我知道有办法解决这个问题。
使用生产凭据访问 mySQL 可以正常工作。
有什么想法吗?
【问题讨论】:
-
RAILS_ENV 用于 rake,使用 rails 控制台只需将环境作为第一个参数
rails console production传递 - 此外,在调用 rails 时您不需要使用 bundle exec - 将它用于其他所有内容(即耙) -
类似于 xnm 和 house9 的回答:试试
RAILS_ENV=production rake my_task_name。它不会永久改变你的环境,只是为了任务,所以不用担心。 -
请更改标题,因为这与 rake 无关
标签: ruby-on-rails rake