From 83ab2cfef0ccd494a2f11d4f48f802c450e8ee17 Mon Sep 17 00:00:00 2001 From: rebuilt Date: Sun, 12 Feb 2023 16:54:54 -0800 Subject: [PATCH] Add one_off script for loading 2022-23 data --- lib/tasks/data.rake | 5 +++-- lib/tasks/one_off.rake | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 2 deletions(-) diff --git a/lib/tasks/data.rake b/lib/tasks/data.rake index 9f874255..19e25442 100644 --- a/lib/tasks/data.rake +++ b/lib/tasks/data.rake @@ -36,12 +36,13 @@ namespace :data do task load_survey_responses_for_lowell: :environment do survey_item_response_count = SurveyItemResponse.count student_count = Student.count - Sftp::Directory.open(path: '/data/survey_responses/clean/') do |file| + path = '/data/survey_responses/clean/' + Sftp::Directory.open(path:) do |file| SurveyResponsesDataLoader.from_file(file:) end puts "=====================> Completed loading #{SurveyItemResponse.count - survey_item_response_count} survey responses. #{SurveyItemResponse.count} total responses in the database" - Sftp::Directory.open(path: '/data/survey_responses/clean/') do |file| + Sftp::Directory.open(path:) do |file| StudentLoader.from_file(file:, rules: [Rule::SkipNonLowellSchools]) end puts "=====================> Completed loading #{Student.count - student_count} students. #{Student.count} total students" diff --git a/lib/tasks/one_off.rake b/lib/tasks/one_off.rake index 2250b236..32142620 100644 --- a/lib/tasks/one_off.rake +++ b/lib/tasks/one_off.rake @@ -156,4 +156,40 @@ namespace :one_off do Rails.cache.clear end + + desc 'delete 2022-23 survey responses' + task delete_survey_responses_2022_23: :environment do + response_count = SurveyItemResponse.all.count + SurveyItemResponse.where(academic_year: AcademicYear.find_by_range('2022-23')).delete_all + + puts "=====================> Deleted #{response_count - SurveyItemResponse.all.count} survey responses" + # should be somewhere near 295738 + end + + desc 'load survey responses for lowell schools 2022-23' + task load_survey_responses_for_lowell_2022_23: :environment do + survey_item_response_count = SurveyItemResponse.count + student_count = Student.count + path = '/data/survey_responses/2022-23/' + + Sftp::Directory.open(path:) do |file| + SurveyResponsesDataLoader.from_file(file:) + end + puts "=====================> Completed loading #{SurveyItemResponse.count - survey_item_response_count} survey responses. #{SurveyItemResponse.count} total responses in the database" + + Sftp::Directory.open(path:) do |file| + StudentLoader.from_file(file:, rules: [Rule::SkipNonLowellSchools]) + end + puts "=====================> Completed loading #{Student.count - student_count} students. #{Student.count} total students" + + puts 'Resetting response rates' + ResponseRateLoader.reset academic_years: [AcademicYear.find_by_range('2022-23')] + puts "=====================> Completed loading #{ResponseRate.count} response rates" + + puts 'Resetting race scores' + RaceScoreLoader.reset(fast_processing: false, academic_years: [AcademicYear.find_by_range('2022-23')]) + puts "=====================> Completed loading #{RaceScore.count} race scores" + + Rails.cache.clear + end end