如何确定我的ROR应用正在获取其ENV变量

时间:2019-04-16 00:37:59

标签: ruby mongodb ruby-on-rails-3 puma puma-dev

我接管了一个ROR应用程序,并更改了local_env.yml和.env中的ENV变量,以指向MongoDB Atlas上的新MongoDB服务器,并且远离MLab。但是,该应用程序仍在访问数据库MLab。

所以我还做了以下事情:

  1. 我检查了计算机,发现bash_profile中有相同的ENV,但已更改。
  2. 然后我做了一个来源~/.bash_profile
  3. 我重新启动了Puma,但该应用程序仍在使用通过ENV [MONGO]访问的Mlab DB。

有没有办法找出应用程序从何处提取ENV变量?

1 个答案:

答案 0 :(得分:1)

在ruby中,没有什么特别的东西可以找到设置环境变量的位置,因为它们是ENVIRONMENT VARIABLES,所以首先要了解它的含义。

您可以尝试递归递归

grep -rnw 'base/path/to/search/' -e 'MONGO'

根据您使用的外壳,可能还有其他方法可以将它们追捕下来。但是,如果从不是由Shell加载的文件而是由您的ruby应用程序加载的文件(即yaml文件)加载文件,则这些文件可能对您没有帮助。  有关更多信息,请参见this answer