aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLouise Crow <louise.crow@gmail.com>2014-12-18 09:18:16 +0000
committerLouise Crow <louise.crow@gmail.com>2014-12-18 09:18:16 +0000
commita21420efff11968c58c9d220ea5f9974142056b6 (patch)
tree33afe4de89ed7bfc9fc7a990bff27d3f4fbbd488
parent7414ed478f212be2b48c95fafde15726b348b197 (diff)
Try to avoid n+1 queries, and multiple admin authority queries.0.20.0.1hotfix/0.20.0.1
Attempting to make the import faster when there are lots of public authorities in the database already
-rw-r--r--app/models/public_body.rb5
1 files changed, 3 insertions, 2 deletions
diff --git a/app/models/public_body.rb b/app/models/public_body.rb
index 1929272ea..a9cdfeab2 100644
--- a/app/models/public_body.rb
+++ b/app/models/public_body.rb
@@ -454,11 +454,12 @@ class PublicBody < ActiveRecord::Base
# of updating them
bodies_by_name = {}
set_of_existing = Set.new()
+ internal_admin_body_id = PublicBody.internal_admin_body.id
I18n.with_locale(I18n.default_locale) do
- bodies = (tag.nil? || tag.empty?) ? PublicBody.find(:all) : PublicBody.find_by_tag(tag)
+ bodies = (tag.nil? || tag.empty?) ? PublicBody.find(:all, :include => :translations) : PublicBody.find_by_tag(tag)
for existing_body in bodies
# Hide InternalAdminBody from import notes
- next if existing_body.id == PublicBody.internal_admin_body.id
+ next if existing_body.id == internal_admin_body_id
bodies_by_name[existing_body.name] = existing_body
set_of_existing.add(existing_body.name)