mirror of
https://github.com/edcommonwealth/sqm-dashboards.git
synced 2026-03-09 07:28:41 -07:00
initialized with a season, i.e. "2024-25 Fall". Update scapers for admin data, enrollment and staffing to use the new range standard correctly. Update the loaders for admin data, enrollment and staffing so that it populates all seasons in a given year. So admin data for 2024-25 gets loaded into "2024-25 Fall" and "2024-25 Spring". Add tests for the new range format. Set the default cutoff for the start of Spring season will be the last Sunday in February
73 lines
2.7 KiB
Ruby
73 lines
2.7 KiB
Ruby
namespace :one_off do
|
|
desc "list survey_items that have no survey responses by district"
|
|
task list_survey_items_that_lack_responses: :environment do
|
|
output = AcademicYear.all.map do |academic_year|
|
|
District.all.map do |district|
|
|
SurveyItem.all.map do |survey_item|
|
|
[academic_year.range, survey_item.survey_item_id,
|
|
survey_item.survey_item_responses.joins(:school).where("school.district": district, academic_year:).count, district.name]
|
|
end
|
|
end
|
|
end
|
|
|
|
output = output.map do |year|
|
|
year.map do |district|
|
|
district.reject do |survey_item|
|
|
survey_item[2] > 0 || survey_item[1].starts_with?("a-")
|
|
end
|
|
end
|
|
end
|
|
pp output
|
|
end
|
|
|
|
desc "list the most recent admin data values"
|
|
task list_recent_admin_data_values: :environment do
|
|
range = 4.weeks.ago..1.second.ago
|
|
values = AdminDataValue.where(updated_at: range).group(:admin_data_item).count.map do |item|
|
|
[item[0].admin_data_item_id, item[0].scale.measure.measure_id]
|
|
end
|
|
puts values
|
|
end
|
|
|
|
desc "change dese id of Minot Forest Elementary School"
|
|
task change_dese_id: :environment do
|
|
school = School.find_by_name "Minot Forest Elementary School"
|
|
school.dese_id = 310_001_799
|
|
school.save
|
|
|
|
school = School.find_by_name "Wareham Elementary School"
|
|
school.slug = school.name.parameterize
|
|
school.dese_id = 310_001_7
|
|
school.save
|
|
end
|
|
|
|
desc "delete measures we don't want to show"
|
|
task delete_library_measure: :environment do
|
|
measure = Measure.find_by_measure_id("3B-iv")
|
|
measure.scales.each { |scale| scale.survey_items.each { |survey_item| survey_item.delete } }
|
|
measure.scales.each { |scale| scale.delete }
|
|
measure.delete
|
|
end
|
|
|
|
desc "delete last year of respondent data and reseed numbers"
|
|
task reseed_respondents: :environment do
|
|
Respondent.delete_all
|
|
|
|
seeder = Seeder.new
|
|
seeder.seed_enrollment Rails.root.join("data", "enrollment", "enrollment.csv")
|
|
seeder.seed_enrollment Rails.root.join("data", "enrollment", "nj_enrollment.csv")
|
|
seeder.seed_enrollment Rails.root.join("data", "enrollment", "wi_enrollment.csv")
|
|
seeder.seed_staffing Rails.root.join("data", "staffing", "staffing.csv")
|
|
seeder.seed_staffing Rails.root.join("data", "staffing", "nj_staffing.csv")
|
|
seeder.seed_staffing Rails.root.join("data", "staffing", "wi_staffing.csv")
|
|
end
|
|
|
|
desc "delete 2023-24 AcademicYear and all responses, admin data, enrollment numbers and staffing numbers"
|
|
task delete_2023_24: :environment do
|
|
academic_year = AcademicYear.find_by_range "2023-24"
|
|
AdminDataValue.where(academic_year:).delete_all
|
|
Respondent.where(academic_year:).delete_all
|
|
SurveyItemResponse.where(academic_year:).delete_all
|
|
academic_year.delete
|
|
end
|
|
end
|