Рельсы SQL Подзапрос не рассчитывается правильно в производстве - PullRequest
0 голосов
/ 10 января 2020

У меня есть запрос с подзапросом, который выполняет вычисления. Это часть подзапроса:

SUM(
            CASE 
            WHEN s.partially_met = false AND s.fully_met = true 
            THEN 1 ELSE 0
            END
        )::float * 100.0 / COUNT(s.outcome_id)::float as fully_met_percent 

Когда я запускаю весь запрос в разработке или тестировании, он всегда возвращает правильный результат. Когда я запускаю запрос на активную запись rails, который генерирует вышеизложенное, он всегда возвращает правильный результат при разработке и тестировании.

Когда я запускаю SQL непосредственно для моей промежуточной базы данных heroku, он генерирует правильный результат.

Однако запрос активной записи всегда будет возвращать 0.0 для вышеупомянутого в моем промежуточном приложении heroku.

Если я запускаю SQL через консоль rails для моего промежуточного приложения heroku, используя ActiveRecord :: Base.connection.execute всегда будет возвращать 0.0

Может кто-нибудь пролить свет на то, почему это происходит, или есть идеи, где искать?

Приложение Rails 6.0.0, Ruby 2.6. 1

Большое спасибо,

1 Ответ

0 голосов
/ 10 января 2020

Во-первых, может быть, ваша схема подготовки, если отличается от разработки. Во-вторых, возможно, ваши данные о постановке отличаются от разработки.

...