aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLouise Crow <louise.crow@gmail.com>2012-09-20 15:00:55 +0100
committerLouise Crow <louise.crow@gmail.com>2012-09-20 15:00:55 +0100
commitaebcdc082f277b3569d1300ebeda43c503d8aec5 (patch)
tree40784923e56a5aaa185b0927330e623ff264d16e
parent44d64c22bbd49722688a680ce89bff3d1d3a8bdb (diff)
Faster way to update counter cache.release/0.6.6
-rw-r--r--db/migrate/20120912170035_add_info_requests_count_to_public_bodies.rb7
1 files changed, 3 insertions, 4 deletions
diff --git a/db/migrate/20120912170035_add_info_requests_count_to_public_bodies.rb b/db/migrate/20120912170035_add_info_requests_count_to_public_bodies.rb
index d77dbaa64..d187dcfa5 100644
--- a/db/migrate/20120912170035_add_info_requests_count_to_public_bodies.rb
+++ b/db/migrate/20120912170035_add_info_requests_count_to_public_bodies.rb
@@ -2,11 +2,10 @@ class AddInfoRequestsCountToPublicBodies < ActiveRecord::Migration
def self.up
add_column :public_bodies, :info_requests_count, :integer, :null => false, :default => 0
- PublicBody.reset_column_information
+ PublicBody.connection.execute("UPDATE public_bodies
+ SET info_requests_count = (SELECT COUNT(*) FROM info_requests
+ WHERE public_body_id = public_bodies.id);")
- PublicBody.find_each do |public_body|
- public_body.update_attribute :info_requests_count, public_body.info_requests.length
- end
end