Ruby on rails 为什么可以';乘客查找数据库上的t rails应用程序?

Ruby on rails 为什么可以';乘客查找数据库上的t rails应用程序?,ruby-on-rails,postgresql,nginx,vagrant,passenger,Ruby On Rails,Postgresql,Nginx,Vagrant,Passenger,我正在尝试在windows计算机上使用vagrant为rails应用程序创建一个暂存环境。为了让它尽可能接近生产环境,我安装了带有nginx的passenger。但是,当我尝试使用该应用程序时,出现以下错误: FATAL: database "my_database" does not exist (PG::ConnectionBad) rails数据库配置适用于rake任务。它已被迁移、播种并加载了样本数据。它肯定存在,如果我直接使用rails s运行应用程序,它就会连接起来。我只是在尝试

我正在尝试在windows计算机上使用vagrant为rails应用程序创建一个暂存环境。为了让它尽可能接近生产环境,我安装了带有nginx的passenger。但是,当我尝试使用该应用程序时,出现以下错误:

FATAL:  database "my_database" does not exist (PG::ConnectionBad)
rails数据库配置适用于rake任务。它已被迁移、播种并加载了样本数据。它肯定存在,如果我直接使用
rails s
运行应用程序,它就会连接起来。我只是在尝试与乘客一起运行时遇到这个问题


我完全被难住了,对流浪汉、乘客和nginx也缺乏经验,不知道如何解决这个问题,或者提供哪些相关信息。如果需要更多信息,请告诉我,我将更新问题。谢谢

我认为passenger是在错误的环境中启动应用程序的,或者可能是您在错误的环境中创建了数据库,请尝试在您的命令前添加
RAILS\u ENV
,例如
RAILS\u ENV=production bin/rake db:setup
谢谢。这是一个好主意,但我认为这两种方法都使用了登台环境。我在.bashrc中放置了
export RAILS\u ENV=staging
,并放置了
passenger\u app\u ENV staging。但我会再核实一下的。看来你是对的!bashrc一定不能像我认为的那样工作,但我可以自己调查一下。感谢Mohammad。请对env变量使用
~/.profile
,而不是
~/.bashrc
,因为服务器不是在登录会话中启动的,因此bashrc不会获得源代码,但profile会