From ed1310f93ca2450a6a92b8c7cc5bdc54d8b1ac09 Mon Sep 17 00:00:00 2001 From: Nelson Jovel Date: Wed, 7 Feb 2024 15:39:27 -0800 Subject: [PATCH] chore: make sure CSV and File objects are properly namespaced --- Gemfile.lock | 2 +- app/lib/dashboard/seeder.rb | 4 +-- app/services/dashboard/cleaner.rb | 14 ++++----- app/services/dashboard/demographic_loader.rb | 2 +- app/services/dashboard/dese/enrollments.rb | 2 +- app/services/dashboard/dese/loader.rb | 2 +- app/services/dashboard/dese/three_b_two.rb | 2 +- app/services/dashboard/enrollment_loader.rb | 2 +- app/services/dashboard/staffing_loader.rb | 2 +- .../dashboard/survey_responses_data_loader.rb | 16 +++++----- lib/dashboard/version.rb | 2 +- lib/tasks/one_off.rake | 2 +- ...eate_dashboard_academic_years.dashboard.rb | 12 ++++++++ ...2_create_dashboard_categories.dashboard.rb | 14 +++++++++ ...reate_dashboard_subcategories.dashboard.rb | 13 +++++++++ ...524_create_dashboard_measures.dashboard.rb | 13 +++++++++ ...30525_create_dashboard_scales.dashboard.rb | 11 +++++++ ...create_dashboard_survey_items.dashboard.rb | 17 +++++++++++ ...te_dashboard_admin_data_items.dashboard.rb | 17 +++++++++++ ...28_create_dashboard_districts.dashboard.rb | 12 ++++++++ ...0529_create_dashboard_schools.dashboard.rb | 17 +++++++++++ ...e_dashboard_admin_data_values.dashboard.rb | 16 ++++++++++ ...7230531_create_dashboard_ells.dashboard.rb | 11 +++++++ ...0532_create_dashboard_genders.dashboard.rb | 11 +++++++ ...0533_create_dashboard_incomes.dashboard.rb | 11 +++++++ ...230534_create_dashboard_races.dashboard.rb | 12 ++++++++ ..._create_dashboard_respondents.dashboard.rb | 29 +++++++++++++++++++ ...eate_dashboard_response_rates.dashboard.rb | 14 +++++++++ ...30537_create_dashboard_scores.dashboard.rb | 13 +++++++++ ...230538_create_dashboard_speds.dashboard.rb | 11 +++++++ ...539_create_dashboard_students.dashboard.rb | 11 +++++++ ...reate_dashboard_student_races.dashboard.rb | 11 +++++++ ...shboard_survey_item_responses.dashboard.rb | 24 +++++++++++++++ spec/dummy/db/schema.rb | 2 +- 34 files changed, 327 insertions(+), 27 deletions(-) create mode 100644 spec/dummy/db/migrate/20240207230521_create_dashboard_academic_years.dashboard.rb create mode 100644 spec/dummy/db/migrate/20240207230522_create_dashboard_categories.dashboard.rb create mode 100644 spec/dummy/db/migrate/20240207230523_create_dashboard_subcategories.dashboard.rb create mode 100644 spec/dummy/db/migrate/20240207230524_create_dashboard_measures.dashboard.rb create mode 100644 spec/dummy/db/migrate/20240207230525_create_dashboard_scales.dashboard.rb create mode 100644 spec/dummy/db/migrate/20240207230526_create_dashboard_survey_items.dashboard.rb create mode 100644 spec/dummy/db/migrate/20240207230527_create_dashboard_admin_data_items.dashboard.rb create mode 100644 spec/dummy/db/migrate/20240207230528_create_dashboard_districts.dashboard.rb create mode 100644 spec/dummy/db/migrate/20240207230529_create_dashboard_schools.dashboard.rb create mode 100644 spec/dummy/db/migrate/20240207230530_create_dashboard_admin_data_values.dashboard.rb create mode 100644 spec/dummy/db/migrate/20240207230531_create_dashboard_ells.dashboard.rb create mode 100644 spec/dummy/db/migrate/20240207230532_create_dashboard_genders.dashboard.rb create mode 100644 spec/dummy/db/migrate/20240207230533_create_dashboard_incomes.dashboard.rb create mode 100644 spec/dummy/db/migrate/20240207230534_create_dashboard_races.dashboard.rb create mode 100644 spec/dummy/db/migrate/20240207230535_create_dashboard_respondents.dashboard.rb create mode 100644 spec/dummy/db/migrate/20240207230536_create_dashboard_response_rates.dashboard.rb create mode 100644 spec/dummy/db/migrate/20240207230537_create_dashboard_scores.dashboard.rb create mode 100644 spec/dummy/db/migrate/20240207230538_create_dashboard_speds.dashboard.rb create mode 100644 spec/dummy/db/migrate/20240207230539_create_dashboard_students.dashboard.rb create mode 100644 spec/dummy/db/migrate/20240207230540_create_dashboard_student_races.dashboard.rb create mode 100644 spec/dummy/db/migrate/20240207230541_create_dashboard_survey_item_responses.dashboard.rb diff --git a/Gemfile.lock b/Gemfile.lock index 60f83d8..71f64eb 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: . specs: - dashboard (0.1.11) + dashboard (0.1.13) bcrypt_pbkdf cssbundling-rails ed25519 diff --git a/app/lib/dashboard/seeder.rb b/app/lib/dashboard/seeder.rb index 979d10c..8ab0107 100644 --- a/app/lib/dashboard/seeder.rb +++ b/app/lib/dashboard/seeder.rb @@ -12,7 +12,7 @@ module Dashboard def seed_districts_and_schools(csv_file) dese_ids = [] schools = [] - CSV.parse(File.read(csv_file), headers: true) do |row| + ::CSV.parse(::File.read(csv_file), headers: true) do |row| district_name = row["District"].strip district_code = row["District Code"].try(:strip) @@ -39,7 +39,7 @@ module Dashboard def seed_sqm_framework(csv_file) admin_data_item_ids = [] - CSV.parse(File.read(csv_file), headers: true) do |row| + ::CSV.parse(::File.read(csv_file), headers: true) do |row| category_id = row["Category ID"].strip category_name = row["Category"].strip category = Category.find_or_create_by!(category_id:) diff --git a/app/services/dashboard/cleaner.rb b/app/services/dashboard/cleaner.rb index 22a359a..c755f3b 100644 --- a/app/services/dashboard/cleaner.rb +++ b/app/services/dashboard/cleaner.rb @@ -13,7 +13,7 @@ module Dashboard def clean Dir.glob(Rails.root.join(input_filepath, "*.csv")).each do |filepath| puts filepath - File.open(filepath) do |file| + ::File.open(filepath) do |file| puts "opening file" processed_data = process_raw_file(file:) processed_data in [headers, clean_csv, log_csv, data] @@ -67,7 +67,7 @@ module Dashboard clean_csv = [] log_csv = [] data = [] - headers = CSV.parse(file.first).first + headers = ::CSV.parse(file.first).first duplicate_header = headers.detect { |header| headers.count(header) > 1 } unless duplicate_header.nil? puts "\n>>>>>>>>>>>>>>>>>> Duplicate header found. This will misalign column headings. Please delete or rename the duplicate column: #{duplicate_header} \n>>>>>>>>>>>>>> \n" @@ -85,7 +85,7 @@ module Dashboard all_survey_items = survey_items(headers:) file.lazy.each_slice(1000) do |lines| - CSV.parse(lines.join, headers:).map do |row| + ::CSV.parse(lines.join, headers:).map do |row| values = SurveyItemValues.new(row:, headers:, survey_items: all_survey_items, schools:) next unless values.valid_school? @@ -121,12 +121,12 @@ module Dashboard end def write_csv(data:, output_filepath:, filename:, prefix: "") - csv = CSV.generate do |csv| + csv = ::CSV.generate do |csv| data.each do |row| csv << row end end - File.write(output_filepath.join(prefix + filename), csv) + ::File.write(output_filepath.join(prefix + filename), csv) end def schools @@ -145,11 +145,11 @@ module Dashboard end def create_ouput_directory - FileUtils.mkdir_p output_filepath + ::FileUtils.mkdir_p output_filepath end def create_log_directory - FileUtils.mkdir_p log_filepath + ::FileUtils.mkdir_p log_filepath end end end diff --git a/app/services/dashboard/demographic_loader.rb b/app/services/dashboard/demographic_loader.rb index 4c96dff..9549e93 100644 --- a/app/services/dashboard/demographic_loader.rb +++ b/app/services/dashboard/demographic_loader.rb @@ -5,7 +5,7 @@ require "csv" module Dashboard class DemographicLoader def self.load_data(filepath:) - CSV.parse(File.read(filepath), headers: true) do |row| + ::CSV.parse(::File.read(filepath), headers: true) do |row| process_race(row:) process_gender(row:) create_from_column(column: "Income", row:, model: Income) diff --git a/app/services/dashboard/dese/enrollments.rb b/app/services/dashboard/dese/enrollments.rb index fdad483..f7b231a 100644 --- a/app/services/dashboard/dese/enrollments.rb +++ b/app/services/dashboard/dese/enrollments.rb @@ -26,7 +26,7 @@ module Dashboard def student_count(filepath:, dese_id:, year:) @students ||= {} if @students.count == 0 - CSV.parse(File.read(filepath), headers: true).map do |row| + ::CSV.parse(::File.read(filepath), headers: true).map do |row| academic_year = row["Academic Year"] school_id = row["DESE ID"].to_i total = row["Total"].gsub(",", "").to_i diff --git a/app/services/dashboard/dese/loader.rb b/app/services/dashboard/dese/loader.rb index 61ea979..d36b9d3 100644 --- a/app/services/dashboard/dese/loader.rb +++ b/app/services/dashboard/dese/loader.rb @@ -5,7 +5,7 @@ module Dashboard class Loader def self.load_data(filepath:) admin_data_values = [] - CSV.parse(File.read(filepath), headers: true) do |row| + ::CSV.parse(::File.read(filepath), headers: true) do |row| score = likert_score(row:) next unless valid_likert_score(likert_score: score) diff --git a/app/services/dashboard/dese/three_b_two.rb b/app/services/dashboard/dese/three_b_two.rb index b112f4f..b6b6a8d 100644 --- a/app/services/dashboard/dese/three_b_two.rb +++ b/app/services/dashboard/dese/three_b_two.rb @@ -76,7 +76,7 @@ module Dashboard @teachers ||= {} @years_with_data ||= Set.new if @teachers.count == 0 - CSV.parse(File.read(filepath), headers: true).map do |row| + ::CSV.parse(::File.read(filepath), headers: true).map do |row| academic_year = row["Academic Year"] @years_with_data << academic_year school_id = row["DESE ID"].to_i diff --git a/app/services/dashboard/enrollment_loader.rb b/app/services/dashboard/enrollment_loader.rb index b9f9a02..00ec62c 100644 --- a/app/services/dashboard/enrollment_loader.rb +++ b/app/services/dashboard/enrollment_loader.rb @@ -6,7 +6,7 @@ module Dashboard class EnrollmentLoader def load_data(filepath:) enrollments = [] - CSV.parse(File.read(filepath), headers: true) do |row| + ::CSV.parse(::File.read(filepath), headers: true) do |row| row = EnrollmentRowValues.new(row:, schools: school_hash, academic_years: academic_year_hash) next unless row.school.present? && row.academic_year.present? diff --git a/app/services/dashboard/staffing_loader.rb b/app/services/dashboard/staffing_loader.rb index 6ab2db8..3b9b906 100644 --- a/app/services/dashboard/staffing_loader.rb +++ b/app/services/dashboard/staffing_loader.rb @@ -7,7 +7,7 @@ module Dashboard def self.load_data(filepath:) schools = [] respondents = [] - CSV.parse(File.read(filepath), headers: true) do |row| + ::CSV.parse(::File.read(filepath), headers: true) do |row| row = StaffingRowValues.new(row:) next unless row.school.present? && row.academic_year.present? diff --git a/app/services/dashboard/survey_responses_data_loader.rb b/app/services/dashboard/survey_responses_data_loader.rb index ac65f52..4fd7aa3 100644 --- a/app/services/dashboard/survey_responses_data_loader.rb +++ b/app/services/dashboard/survey_responses_data_loader.rb @@ -3,13 +3,13 @@ module Dashboard class SurveyResponsesDataLoader def load_data(filepath:) - File.open(filepath) do |file| + ::File.open(filepath) do |file| headers = file.first - headers_array = CSV.parse(headers).first + headers_array = ::CSV.parse(headers).first all_survey_items = survey_items(headers:) file.lazy.each_slice(500) do |lines| - survey_item_responses = CSV.parse(lines.join, headers:).map do |row| + survey_item_responses = ::CSV.parse(lines.join, headers:).map do |row| process_row(row: SurveyItemValues.new(row:, headers: headers_array, survey_items: all_survey_items, schools:)) end @@ -22,7 +22,7 @@ module Dashboard def from_file(file:) headers = file.gets - headers_array = CSV.parse(headers).first + headers_array = ::CSV.parse(headers).first all_survey_items = survey_items(headers:) survey_item_responses = [] @@ -31,7 +31,7 @@ module Dashboard line = file.gets next unless line.present? - CSV.parse(line, headers:).map do |row| + ::CSV.parse(line, headers:).map do |row| values = process_row(row: SurveyItemValues.new(row:, headers: headers_array, survey_items: all_survey_items, schools:)) survey_item_responses << values if values.present? @@ -132,9 +132,9 @@ module Dashboard end def get_survey_item_ids_from_headers(headers:) - CSV.parse(headers).first - .filter(&:present?) - .filter { |header| header.start_with? "t-", "s-" } + ::CSV.parse(headers).first + .filter(&:present?) + .filter { |header| header.start_with? "t-", "s-" } end end end diff --git a/lib/dashboard/version.rb b/lib/dashboard/version.rb index 494cb09..4af683c 100644 --- a/lib/dashboard/version.rb +++ b/lib/dashboard/version.rb @@ -1,3 +1,3 @@ module Dashboard - VERSION = "0.1.12" + VERSION = "0.1.13" end diff --git a/lib/tasks/one_off.rake b/lib/tasks/one_off.rake index 6109f05..f066c00 100644 --- a/lib/tasks/one_off.rake +++ b/lib/tasks/one_off.rake @@ -7,7 +7,7 @@ namespace :dashboard do qualtrics_schools = {} csv_file = Rails.root.join("data", "master_list_of_schools_and_districts.csv") - CSV.parse(File.read(csv_file), headers: true) do |row| + ::CSV.parse(::File.read(csv_file), headers: true) do |row| district_id = row["District Code"].to_i school_id = row["School Code"].to_i diff --git a/spec/dummy/db/migrate/20240207230521_create_dashboard_academic_years.dashboard.rb b/spec/dummy/db/migrate/20240207230521_create_dashboard_academic_years.dashboard.rb new file mode 100644 index 0000000..97bb385 --- /dev/null +++ b/spec/dummy/db/migrate/20240207230521_create_dashboard_academic_years.dashboard.rb @@ -0,0 +1,12 @@ +# This migration comes from dashboard (originally 20240103232412) +class CreateDashboardAcademicYears < ActiveRecord::Migration[7.1] + def change + create_table :dashboard_academic_years do |t| + t.string :range + + t.timestamps + end + + add_index :dashboard_academic_years, :range, unique: true + end +end diff --git a/spec/dummy/db/migrate/20240207230522_create_dashboard_categories.dashboard.rb b/spec/dummy/db/migrate/20240207230522_create_dashboard_categories.dashboard.rb new file mode 100644 index 0000000..baf65bf --- /dev/null +++ b/spec/dummy/db/migrate/20240207230522_create_dashboard_categories.dashboard.rb @@ -0,0 +1,14 @@ +# This migration comes from dashboard (originally 20240103233517) +class CreateDashboardCategories < ActiveRecord::Migration[7.1] + def change + create_table :dashboard_categories do |t| + t.string :name + t.text :description + t.string :slug + t.string :category_id + t.string :short_description + + t.timestamps + end + end +end diff --git a/spec/dummy/db/migrate/20240207230523_create_dashboard_subcategories.dashboard.rb b/spec/dummy/db/migrate/20240207230523_create_dashboard_subcategories.dashboard.rb new file mode 100644 index 0000000..71a19a8 --- /dev/null +++ b/spec/dummy/db/migrate/20240207230523_create_dashboard_subcategories.dashboard.rb @@ -0,0 +1,13 @@ +# This migration comes from dashboard (originally 20240104005325) +class CreateDashboardSubcategories < ActiveRecord::Migration[7.1] + def change + create_table :dashboard_subcategories do |t| + t.string :name + t.text :description + t.string :subcategory_id + t.references :dashboard_categories, null: false, foreign_key: true + + t.timestamps + end + end +end diff --git a/spec/dummy/db/migrate/20240207230524_create_dashboard_measures.dashboard.rb b/spec/dummy/db/migrate/20240207230524_create_dashboard_measures.dashboard.rb new file mode 100644 index 0000000..cf141da --- /dev/null +++ b/spec/dummy/db/migrate/20240207230524_create_dashboard_measures.dashboard.rb @@ -0,0 +1,13 @@ +# This migration comes from dashboard (originally 20240104170806) +class CreateDashboardMeasures < ActiveRecord::Migration[7.1] + def change + create_table :dashboard_measures do |t| + t.string :measure_id + t.string :name + t.references :dashboard_subcategory, null: false, foreign_key: true + t.text :description + + t.timestamps + end + end +end diff --git a/spec/dummy/db/migrate/20240207230525_create_dashboard_scales.dashboard.rb b/spec/dummy/db/migrate/20240207230525_create_dashboard_scales.dashboard.rb new file mode 100644 index 0000000..f10d3bd --- /dev/null +++ b/spec/dummy/db/migrate/20240207230525_create_dashboard_scales.dashboard.rb @@ -0,0 +1,11 @@ +# This migration comes from dashboard (originally 20240104170957) +class CreateDashboardScales < ActiveRecord::Migration[7.1] + def change + create_table :dashboard_scales do |t| + t.string :scale_id + t.references :dashboard_measure, null: false, foreign_key: true + + t.timestamps + end + end +end diff --git a/spec/dummy/db/migrate/20240207230526_create_dashboard_survey_items.dashboard.rb b/spec/dummy/db/migrate/20240207230526_create_dashboard_survey_items.dashboard.rb new file mode 100644 index 0000000..d4a3c73 --- /dev/null +++ b/spec/dummy/db/migrate/20240207230526_create_dashboard_survey_items.dashboard.rb @@ -0,0 +1,17 @@ +# This migration comes from dashboard (originally 20240104172921) +class CreateDashboardSurveyItems < ActiveRecord::Migration[7.1] + def change + create_table :dashboard_survey_items do |t| + t.string :survey_item_id + t.string :prompt + t.float :watch_low_benchmark + t.float :growth_low_benchmark + t.float :approval_low_benchmark + t.float :ideal_low_benchmark + t.references :dashboard_scale, null: false, foreign_key: true + t.boolean :on_short_form + + t.timestamps + end + end +end diff --git a/spec/dummy/db/migrate/20240207230527_create_dashboard_admin_data_items.dashboard.rb b/spec/dummy/db/migrate/20240207230527_create_dashboard_admin_data_items.dashboard.rb new file mode 100644 index 0000000..e07290b --- /dev/null +++ b/spec/dummy/db/migrate/20240207230527_create_dashboard_admin_data_items.dashboard.rb @@ -0,0 +1,17 @@ +# This migration comes from dashboard (originally 20240104173424) +class CreateDashboardAdminDataItems < ActiveRecord::Migration[7.1] + def change + create_table :dashboard_admin_data_items do |t| + t.string :admin_data_item_id + t.string :description + t.float :watch_low_benchmark + t.float :growth_low_benchmark + t.float :approval_low_benchmark + t.float :ideal_low_benchmark + t.boolean :hs_only_item + t.references :dashboard_scale, null: false, foreign_key: true + + t.timestamps + end + end +end diff --git a/spec/dummy/db/migrate/20240207230528_create_dashboard_districts.dashboard.rb b/spec/dummy/db/migrate/20240207230528_create_dashboard_districts.dashboard.rb new file mode 100644 index 0000000..798a49b --- /dev/null +++ b/spec/dummy/db/migrate/20240207230528_create_dashboard_districts.dashboard.rb @@ -0,0 +1,12 @@ +# This migration comes from dashboard (originally 20240104173931) +class CreateDashboardDistricts < ActiveRecord::Migration[7.1] + def change + create_table :dashboard_districts do |t| + t.string :name + t.string :slug + t.integer :qualtrics_code + + t.timestamps + end + end +end diff --git a/spec/dummy/db/migrate/20240207230529_create_dashboard_schools.dashboard.rb b/spec/dummy/db/migrate/20240207230529_create_dashboard_schools.dashboard.rb new file mode 100644 index 0000000..f5d7113 --- /dev/null +++ b/spec/dummy/db/migrate/20240207230529_create_dashboard_schools.dashboard.rb @@ -0,0 +1,17 @@ +# This migration comes from dashboard (originally 20240104174053) +class CreateDashboardSchools < ActiveRecord::Migration[7.1] + def change + create_table :dashboard_schools do |t| + t.string :name + t.references :dashboard_district, null: false, foreign_key: true + t.string :slug + t.integer :qualtrics_code + t.integer :dese_id + t.boolean :is_hs + + t.timestamps + end + + add_index :dashboard_schools, :dese_id, unique: true + end +end diff --git a/spec/dummy/db/migrate/20240207230530_create_dashboard_admin_data_values.dashboard.rb b/spec/dummy/db/migrate/20240207230530_create_dashboard_admin_data_values.dashboard.rb new file mode 100644 index 0000000..7ea5e83 --- /dev/null +++ b/spec/dummy/db/migrate/20240207230530_create_dashboard_admin_data_values.dashboard.rb @@ -0,0 +1,16 @@ +# This migration comes from dashboard (originally 20240104174331) +class CreateDashboardAdminDataValues < ActiveRecord::Migration[7.1] + def change + create_table :dashboard_admin_data_values do |t| + t.float :likert_score + t.references :dashboard_school, null: false, foreign_key: true + t.references :dashboard_admin_data_item, null: false, foreign_key: true + t.references :dashboard_academic_year, null: false, foreign_key: true + + t.timestamps + end + + add_index :dashboard_admin_data_values, + %i[dashboard_admin_data_item_id dashboard_school_id dashboard_academic_year_id], unique: true + end +end diff --git a/spec/dummy/db/migrate/20240207230531_create_dashboard_ells.dashboard.rb b/spec/dummy/db/migrate/20240207230531_create_dashboard_ells.dashboard.rb new file mode 100644 index 0000000..2cd788a --- /dev/null +++ b/spec/dummy/db/migrate/20240207230531_create_dashboard_ells.dashboard.rb @@ -0,0 +1,11 @@ +# This migration comes from dashboard (originally 20240104174458) +class CreateDashboardElls < ActiveRecord::Migration[7.1] + def change + create_table :dashboard_ells do |t| + t.string :designation + t.string :slug + + t.timestamps + end + end +end diff --git a/spec/dummy/db/migrate/20240207230532_create_dashboard_genders.dashboard.rb b/spec/dummy/db/migrate/20240207230532_create_dashboard_genders.dashboard.rb new file mode 100644 index 0000000..8deddb6 --- /dev/null +++ b/spec/dummy/db/migrate/20240207230532_create_dashboard_genders.dashboard.rb @@ -0,0 +1,11 @@ +# This migration comes from dashboard (originally 20240104174606) +class CreateDashboardGenders < ActiveRecord::Migration[7.1] + def change + create_table :dashboard_genders do |t| + t.integer :qualtrics_code + t.string :designation + + t.timestamps + end + end +end diff --git a/spec/dummy/db/migrate/20240207230533_create_dashboard_incomes.dashboard.rb b/spec/dummy/db/migrate/20240207230533_create_dashboard_incomes.dashboard.rb new file mode 100644 index 0000000..5de5efb --- /dev/null +++ b/spec/dummy/db/migrate/20240207230533_create_dashboard_incomes.dashboard.rb @@ -0,0 +1,11 @@ +# This migration comes from dashboard (originally 20240104174649) +class CreateDashboardIncomes < ActiveRecord::Migration[7.1] + def change + create_table :dashboard_incomes do |t| + t.string :designation + t.string :slug + + t.timestamps + end + end +end diff --git a/spec/dummy/db/migrate/20240207230534_create_dashboard_races.dashboard.rb b/spec/dummy/db/migrate/20240207230534_create_dashboard_races.dashboard.rb new file mode 100644 index 0000000..ebb11f5 --- /dev/null +++ b/spec/dummy/db/migrate/20240207230534_create_dashboard_races.dashboard.rb @@ -0,0 +1,12 @@ +# This migration comes from dashboard (originally 20240104181033) +class CreateDashboardRaces < ActiveRecord::Migration[7.1] + def change + create_table :dashboard_races do |t| + t.string :designation + t.integer :qualtrics_code + t.string :slug + + t.timestamps + end + end +end diff --git a/spec/dummy/db/migrate/20240207230535_create_dashboard_respondents.dashboard.rb b/spec/dummy/db/migrate/20240207230535_create_dashboard_respondents.dashboard.rb new file mode 100644 index 0000000..1338db0 --- /dev/null +++ b/spec/dummy/db/migrate/20240207230535_create_dashboard_respondents.dashboard.rb @@ -0,0 +1,29 @@ +# This migration comes from dashboard (originally 20240104181617) +class CreateDashboardRespondents < ActiveRecord::Migration[7.1] + def change + create_table :dashboard_respondents do |t| + t.references :dashboard_school, null: false, foreign_key: true + t.references :dashboard_academic_year, null: false, foreign_key: true + t.integer :total_students + t.float :total_teachers + t.integer :pk + t.integer :k + t.integer :one + t.integer :two + t.integer :three + t.integer :four + t.integer :five + t.integer :six + t.integer :seven + t.integer :eight + t.integer :nine + t.integer :ten + t.integer :eleven + t.integer :twelve + + t.timestamps + end + + add_index :dashboard_respondents, %i[dashboard_school_id dashboard_academic_year_id], unique: true + end +end diff --git a/spec/dummy/db/migrate/20240207230536_create_dashboard_response_rates.dashboard.rb b/spec/dummy/db/migrate/20240207230536_create_dashboard_response_rates.dashboard.rb new file mode 100644 index 0000000..b498f95 --- /dev/null +++ b/spec/dummy/db/migrate/20240207230536_create_dashboard_response_rates.dashboard.rb @@ -0,0 +1,14 @@ +# This migration comes from dashboard (originally 20240104181856) +class CreateDashboardResponseRates < ActiveRecord::Migration[7.1] + def change + create_table :dashboard_response_rates do |t| + t.references :dashboard_subcategory, null: false, foreign_key: true + t.references :dashboard_school, null: false, foreign_key: true + t.references :dashboard_academic_year, null: false, foreign_key: true + t.float :student_response_rate + t.float :teacher_response_rate + + t.timestamps + end + end +end diff --git a/spec/dummy/db/migrate/20240207230537_create_dashboard_scores.dashboard.rb b/spec/dummy/db/migrate/20240207230537_create_dashboard_scores.dashboard.rb new file mode 100644 index 0000000..bfae187 --- /dev/null +++ b/spec/dummy/db/migrate/20240207230537_create_dashboard_scores.dashboard.rb @@ -0,0 +1,13 @@ +# This migration comes from dashboard (originally 20240104183857) +class CreateDashboardScores < ActiveRecord::Migration[7.1] + def change + create_table :dashboard_scores do |t| + t.float :average + t.boolean :meets_teacher_threshold + t.boolean :meets_student_threshold + t.boolean :meets_admin_data_threshold + + t.timestamps + end + end +end diff --git a/spec/dummy/db/migrate/20240207230538_create_dashboard_speds.dashboard.rb b/spec/dummy/db/migrate/20240207230538_create_dashboard_speds.dashboard.rb new file mode 100644 index 0000000..c028ff8 --- /dev/null +++ b/spec/dummy/db/migrate/20240207230538_create_dashboard_speds.dashboard.rb @@ -0,0 +1,11 @@ +# This migration comes from dashboard (originally 20240104183934) +class CreateDashboardSpeds < ActiveRecord::Migration[7.1] + def change + create_table :dashboard_speds do |t| + t.string :designation + t.string :slug + + t.timestamps + end + end +end diff --git a/spec/dummy/db/migrate/20240207230539_create_dashboard_students.dashboard.rb b/spec/dummy/db/migrate/20240207230539_create_dashboard_students.dashboard.rb new file mode 100644 index 0000000..9d9d1cd --- /dev/null +++ b/spec/dummy/db/migrate/20240207230539_create_dashboard_students.dashboard.rb @@ -0,0 +1,11 @@ +# This migration comes from dashboard (originally 20240104184053) +class CreateDashboardStudents < ActiveRecord::Migration[7.1] + def change + create_table :dashboard_students do |t| + t.string :lasid + t.string :response_id + + t.timestamps + end + end +end diff --git a/spec/dummy/db/migrate/20240207230540_create_dashboard_student_races.dashboard.rb b/spec/dummy/db/migrate/20240207230540_create_dashboard_student_races.dashboard.rb new file mode 100644 index 0000000..dd7cdc6 --- /dev/null +++ b/spec/dummy/db/migrate/20240207230540_create_dashboard_student_races.dashboard.rb @@ -0,0 +1,11 @@ +# This migration comes from dashboard (originally 20240104190838) +class CreateDashboardStudentRaces < ActiveRecord::Migration[7.1] + def change + create_table :dashboard_student_races do |t| + t.references :dashboard_student, null: false, foreign_key: true + t.references :dashboard_race, null: false, foreign_key: true + + t.timestamps + end + end +end diff --git a/spec/dummy/db/migrate/20240207230541_create_dashboard_survey_item_responses.dashboard.rb b/spec/dummy/db/migrate/20240207230541_create_dashboard_survey_item_responses.dashboard.rb new file mode 100644 index 0000000..ea0c957 --- /dev/null +++ b/spec/dummy/db/migrate/20240207230541_create_dashboard_survey_item_responses.dashboard.rb @@ -0,0 +1,24 @@ +# This migration comes from dashboard (originally 20240104192128) +class CreateDashboardSurveyItemResponses < ActiveRecord::Migration[7.1] + def change + create_table :dashboard_survey_item_responses do |t| + t.integer :likert_score + t.references :dashboard_school, null: false, foreign_key: true + t.references :dashboard_survey_item, null: false, foreign_key: true + t.references :dashboard_academic_year, null: false, foreign_key: true + t.references :dashboard_student, foreign_key: true + t.references :dashboard_gender, foreign_key: true + t.references :dashboard_income, foreign_key: true + t.references :dashboard_ell, foreign_key: true + t.references :dashboard_sped, foreign_key: true + t.string :response_id + t.integer :grade + t.datetime :recorded_date + + t.timestamps + end + add_index :dashboard_survey_item_responses, %i[dashboard_school_id dashboard_academic_year_id] + add_index :dashboard_survey_item_responses, + %i[response_id dashboard_school_id dashboard_academic_year_id dashboard_survey_item_id], unique: true + end +end diff --git a/spec/dummy/db/schema.rb b/spec/dummy/db/schema.rb index 1d09e93..7c31ef9 100644 --- a/spec/dummy/db/schema.rb +++ b/spec/dummy/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema[7.1].define(version: 2024_01_04_192128) do +ActiveRecord::Schema[7.1].define(version: 2024_02_07_230541) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql"