diff options
author | Louise Crow <louise.crow@gmail.com> | 2012-09-20 15:00:55 +0100 |
---|---|---|
committer | Louise Crow <louise.crow@gmail.com> | 2012-09-20 15:00:55 +0100 |
commit | aebcdc082f277b3569d1300ebeda43c503d8aec5 (patch) | |
tree | 40784923e56a5aaa185b0927330e623ff264d16e | |
parent | 44d64c22bbd49722688a680ce89bff3d1d3a8bdb (diff) |
Faster way to update counter cache.release/0.6.6
-rw-r--r-- | db/migrate/20120912170035_add_info_requests_count_to_public_bodies.rb | 7 |
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 |