-1

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

所以我也做了以下事情:

  1. 我检查了电脑,里面有相同的 ENV bash_profile,我已经改变了。
  2. 然后我做了一个来源~/.bash_profile
  3. 我重新启动了 Puma,但该应用程序仍在使用通过 ENV[MONGO] 访问的 Mlab DB。

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

4

1 回答 1

1

ruby 中没有什么特别的东西可以找出环境变量的设置位置,因为它们是环境变量,所以首先要了解这意味着什么。

你可以尝试grep递归

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

根据您使用的外壳,可能还有其他方法可以追捕它们。但是,如果它们是从不是由 shell 加载的文件中加载的,而是由您的 ruby​​ 应用程序(即 yaml 文件)加载的,那么这些可能对您没有帮助。有关更多信息,请参阅此答案

于 2019-04-16T11:11:38.683 回答