From 96e5be60a3a6490f0133bd81a647e93c85409c7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juanjo=20Baz=C3=A1n?= Date: Thu, 25 Feb 2016 18:23:17 +0100 Subject: [PATCH] adds counter cache for assignments --- app/models/valuation_assignment.rb | 2 +- ...add_assignments_counter_cache_to_spending_proposal.rb | 5 +++++ db/schema.rb | 9 +++++---- 3 files changed, 11 insertions(+), 5 deletions(-) create mode 100644 db/migrate/20160225171916_add_assignments_counter_cache_to_spending_proposal.rb diff --git a/app/models/valuation_assignment.rb b/app/models/valuation_assignment.rb index c26b7087f..8f50d9082 100644 --- a/app/models/valuation_assignment.rb +++ b/app/models/valuation_assignment.rb @@ -1,4 +1,4 @@ class ValuationAssignment < ActiveRecord::Base belongs_to :valuator - belongs_to :spending_proposal + belongs_to :spending_proposal, counter_cache: true end diff --git a/db/migrate/20160225171916_add_assignments_counter_cache_to_spending_proposal.rb b/db/migrate/20160225171916_add_assignments_counter_cache_to_spending_proposal.rb new file mode 100644 index 000000000..89a3ac37b --- /dev/null +++ b/db/migrate/20160225171916_add_assignments_counter_cache_to_spending_proposal.rb @@ -0,0 +1,5 @@ +class AddAssignmentsCounterCacheToSpendingProposal < ActiveRecord::Migration + def change + add_column :spending_proposals, :valuation_assignments_count, :integer, default: 0 + end +end diff --git a/db/schema.rb b/db/schema.rb index fd1e0e484..bd85c43a6 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20160224123110) do +ActiveRecord::Schema.define(version: 20160225171916) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" @@ -296,8 +296,8 @@ ActiveRecord::Schema.define(version: 20160224123110) do t.text "description" t.integer "author_id" t.string "external_url" - t.datetime "created_at", null: false - t.datetime "updated_at", null: false + t.datetime "created_at", null: false + t.datetime "updated_at", null: false t.integer "geozone_id" t.float "price" t.boolean "feasible" @@ -305,9 +305,10 @@ ActiveRecord::Schema.define(version: 20160224123110) do t.text "price_explanation" t.text "feasible_explanation" t.text "internal_comments" - t.boolean "valuation_finished", default: false + t.boolean "valuation_finished", default: false t.text "explanations_log" t.integer "administrator_id" + t.integer "valuation_assignments_count", default: 0 end add_index "spending_proposals", ["author_id"], name: "index_spending_proposals_on_author_id", using: :btree