mirror of
https://github.com/edcommonwealth/sqm-dashboards.git
synced 2026-03-07 21:48:16 -08:00
Add counter caches
This commit is contained in:
parent
c03615cb43
commit
a6ad132c81
21 changed files with 141 additions and 34 deletions
|
|
@ -0,0 +1,5 @@
|
|||
class AddSurveyItemResponsesCountToSurveyItem < ActiveRecord::Migration[7.0]
|
||||
def change
|
||||
add_column :survey_items, :survey_item_responses_count, :integer
|
||||
end
|
||||
end
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
class ResetAllSurveyItemCacheCounters < ActiveRecord::Migration[7.0]
|
||||
def up
|
||||
SurveyItem.all.each do |survey_item|
|
||||
SurveyItem.reset_counters(survey_item.id, :survey_item_responses)
|
||||
end
|
||||
end
|
||||
|
||||
def down; end
|
||||
end
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
class AddSurveyItemsCountToScales < ActiveRecord::Migration[7.0]
|
||||
def change
|
||||
add_column :scales, :survey_items_count, :integer
|
||||
end
|
||||
end
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
class ResetAllScaleCacheCounters < ActiveRecord::Migration[7.0]
|
||||
def up
|
||||
Scale.all.each do |scale|
|
||||
Scale.reset_counters(scale.id, :survey_items)
|
||||
end
|
||||
end
|
||||
|
||||
def down; end
|
||||
end
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
class AddScalesCountToMeasures < ActiveRecord::Migration[7.0]
|
||||
def change
|
||||
add_column :measures, :scales_count, :integer
|
||||
end
|
||||
end
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
class ResetAllMeasureCacheCounters < ActiveRecord::Migration[7.0]
|
||||
def up
|
||||
Measure.all.each do |measure|
|
||||
Measure.reset_counters(measure.id, :scales)
|
||||
end
|
||||
end
|
||||
|
||||
def down; end
|
||||
end
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
class AddMeasuresCountToSubcategories < ActiveRecord::Migration[7.0]
|
||||
def change
|
||||
add_column :subcategories, :measures_count, :integer
|
||||
end
|
||||
end
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
class ResetAllSubcategoryCacheCounters < ActiveRecord::Migration[7.0]
|
||||
def up
|
||||
Subcategory.all.each do |subcategory|
|
||||
Subcategory.reset_counters(subcategory.id, :measures)
|
||||
end
|
||||
end
|
||||
|
||||
def down; end
|
||||
end
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
class AddSubcategoriesCountToCategories < ActiveRecord::Migration[7.0]
|
||||
def change
|
||||
add_column :categories, :subcategories_count, :integer
|
||||
end
|
||||
end
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
class ResetAllCategoryCacheCounters < ActiveRecord::Migration[7.0]
|
||||
def up
|
||||
Category.all.each do |category|
|
||||
Category.reset_counters(category.id, :subcategories)
|
||||
end
|
||||
end
|
||||
|
||||
def down; end
|
||||
end
|
||||
|
|
@ -10,7 +10,7 @@
|
|||
#
|
||||
# It's strongly recommended that you check this file into your version control system.
|
||||
|
||||
ActiveRecord::Schema[7.0].define(version: 2022_06_14_211616) do
|
||||
ActiveRecord::Schema[7.0].define(version: 2022_06_16_220352) do
|
||||
# These are extensions that must be enabled in order to support this database
|
||||
enable_extension "plpgsql"
|
||||
|
||||
|
|
@ -57,6 +57,7 @@ ActiveRecord::Schema[7.0].define(version: 2022_06_14_211616) do
|
|||
t.datetime "updated_at", null: false
|
||||
t.string "category_id", null: false
|
||||
t.string "short_description"
|
||||
t.integer "subcategories_count"
|
||||
t.index ["slug"], name: "index_categories_on_slug", unique: true
|
||||
end
|
||||
|
||||
|
|
@ -283,6 +284,7 @@ ActiveRecord::Schema[7.0].define(version: 2022_06_14_211616) do
|
|||
t.text "description"
|
||||
t.datetime "created_at", null: false
|
||||
t.datetime "updated_at", null: false
|
||||
t.integer "scales_count"
|
||||
t.index ["measure_id"], name: "index_measures_on_measure_id"
|
||||
t.index ["subcategory_id"], name: "index_measures_on_subcategory_id"
|
||||
end
|
||||
|
|
@ -319,6 +321,7 @@ ActiveRecord::Schema[7.0].define(version: 2022_06_14_211616) do
|
|||
t.bigint "measure_id", null: false
|
||||
t.datetime "created_at", null: false
|
||||
t.datetime "updated_at", null: false
|
||||
t.integer "survey_items_count"
|
||||
t.index ["measure_id"], name: "index_scales_on_measure_id"
|
||||
t.index ["scale_id"], name: "index_scales_on_scale_id", unique: true
|
||||
end
|
||||
|
|
@ -343,6 +346,7 @@ ActiveRecord::Schema[7.0].define(version: 2022_06_14_211616) do
|
|||
t.datetime "created_at", null: false
|
||||
t.datetime "updated_at", null: false
|
||||
t.string "subcategory_id", null: false
|
||||
t.integer "measures_count"
|
||||
end
|
||||
|
||||
create_table "survey_item_responses", id: :serial, force: :cascade do |t|
|
||||
|
|
@ -371,6 +375,7 @@ ActiveRecord::Schema[7.0].define(version: 2022_06_14_211616) do
|
|||
t.float "ideal_low_benchmark"
|
||||
t.bigint "scale_id", null: false
|
||||
t.boolean "on_short_form", default: false
|
||||
t.integer "survey_item_responses_count"
|
||||
t.index ["scale_id"], name: "index_survey_items_on_scale_id"
|
||||
t.index ["survey_item_id"], name: "index_survey_items_on_survey_item_id"
|
||||
end
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue