From 87e6a998b7afc23342fc21b79e26e3e871b5a168 Mon Sep 17 00:00:00 2001 From: Nelson Jovel Date: Wed, 13 Apr 2022 20:15:39 -0700 Subject: [PATCH] Add one-off script to list scales that lack survey responses --- app/models/scale.rb | 1 + lib/tasks/one_off.rake | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/app/models/scale.rb b/app/models/scale.rb index 68d34f3d..aa0096b1 100644 --- a/app/models/scale.rb +++ b/app/models/scale.rb @@ -1,6 +1,7 @@ class Scale < ApplicationRecord belongs_to :measure has_many :survey_items + has_many :survey_item_responses, through: :survey_items has_many :admin_data_items def score(school:, academic_year:) diff --git a/lib/tasks/one_off.rake b/lib/tasks/one_off.rake index aa73b3c7..c6d783bc 100644 --- a/lib/tasks/one_off.rake +++ b/lib/tasks/one_off.rake @@ -52,4 +52,16 @@ namespace :one_off do SurveyResponsesDataLoader.load_data filepath: filepath puts "=====================> Completed loading #{SurveyItemResponse.count} survey responses" end + + desc 'list scales that have no survey responses' + task list_scales_that_lack_survey_responses: :environment do + output = AcademicYear.all.map do |academic_year| + Scale.all.map do |scale| + [academic_year.range, scale.scale_id, scale.survey_item_responses.where(academic_year:).count] + end + end + + output = output.map { |year| year.reject { |scale| scale[2] > 0 || scale[1].starts_with?('a-') } } + pp output + end end