【发布时间】:2017-05-17 15:29:26
【问题描述】:
我被分配在我们的(生产)订单管理应用程序的仪表板中查找错误。它显示错误的数据。由于我在本地没有该特定数据,并且无法很快获得,我将不得不在生产应用程序中进行。
我以前从未使用过或使用过实时运行的应用程序,并且不知道最佳实践、禁忌、安全预防措施等。
如果有人能提供一些关于从哪里开始阅读的线索(软件、工具、教程等),那将对我有很大帮助。出于某种原因,我只找到有关如何准备和部署 Rails 应用程序的信息。但不是关于如何实际管理正在运行的应用程序(已由其他人部署)。
一个例子:因为我需要将统计数据与真实数据进行比较,所以我想运行一个控制台 (rails console --sandbox) 并环顾四周,触发一些查询。我试过了:
- ssh 到运行应用程序的服务器
- 切换到 rails app 文件夹 (
www/project-name/current) - 运行
rails console production
但是最后一条命令给了我:
The program 'rails' can be found in the following packages:
* ruby-railties-3.2
* ruby-railties-4.0
所以我想我不应该那样做。 那么我将如何调查这样的错误呢?直接查询数据库似乎很危险。
有什么建议吗?谢了!
【问题讨论】:
-
存在当前文件夹类型的事实看起来像是 Capistrano 部署。你的想法应该是正确的(cd-ing 到当前文件夹并打开一个控制台)。试试
bin/rails c production -
是的,它是 Capistrano 部署
-
关于您的 rails 控制台问题:您在 prod 中使用的是 rvm 还是其他 ruby 切换器?如果是,则需要在运行控制台之前选择正确的 ruby(以便它可以找到 bundler、rails 和其他 gem)
-
@Flip 您要查找的代码行可能类似于:
set :stages, ["staging", "production"] -
可能 Rails 没有安装在系统范围内,这就是为什么你需要运行
bundle exec rails c production
标签: ruby-on-rails