1

当我在本地控制台中运行 ActiveRecord 查询时,我会看到查询运行所需的时间(以毫秒为单位)以及从我的 ActiveRecord 代码生成的原始 SQL。例如:

$ rails c
Running via Spring preloader in process 92420
Loading development environment (Rails 6.1.3)
[1] pry(main)> TableName.count
   (26336.8ms)  SELECT COUNT(*) FROM "table_names"
=> 10005457

但是当我在 Heroku rails 控制台中运行相同的查询时,我看不到查询时间或 SQL,只看到结果。例子:

$ heroku run rails c
Running rails c on ⬢ app-name... up, run.9115 (Free)
Loading production environment (Rails 6.1.3)
[1] pry(main)> TableName.count
=> 10005457

如果它是相关的,我已经通过我gem 'pry-byebug'gem 'pry-rails'Gemfile 安装(不在组中development)。我也使用 PostgreSQL 作为我的数据库。

4

1 回答 1

2

是否显示查询时间和 SQL 取决于Log Levels

当日志级别为:debug或对应的数字时显示0

你可以签到config.log_levelconfig/environments/production.rb

如果是:debug,那么可能是 Heroku 以某种方式更改了日志级别。

您可以通过 . 检查 Hereku 控制台中的日志级别Rails.logger.level

并将日志级别设置为:debugby Rails.logger.level = :debug

于 2021-03-12T02:11:19.877 回答