使用capistrano我在环境名称" staging"下部署我的Rails 4应用程序。当我进入服务器并运行rails console
时,任何ActiveRecord查询都会出现no such table
。所以我检查了我的Rails.env
,确定它是development
而不是staging
。但是即使运行rails console staging
,它也会将Rails.env
设置为" staging",但ActiveRecord查询仍然说没有这样的表。应用程序本身运行正常(在Apache和Passenger下),但由于某种原因,rails控制台无法连接到数据库。
当我知道它正在工作并且仍然看到错误时,我已经恢复原状了,这告诉我这是我必须在服务器上进行的配置更改,而不是更改到rails应用代码或capistrano部署配置。
答案 0 :(得分:0)
好的,我自己找到了答案。 RAILS_ENV最初设置为/etc/environment
中的暂存 - 但不久前这个文件在某些调试过程中被删除,并且没有恢复。
令我感到惊讶的是
rails console staging
与
效果不同export RAILS_ENV=staging
rails console
无论如何,排序。