From 66cfb901c0df6eb5741721e901b66fbe82e183ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20D=C3=A1vila?= Date: Tue, 5 Sep 2017 11:03:24 -0500 Subject: Optimize SQL queries used in Groups::GroupMembersController#create The following optimizations were performed: - Add new association to GroupMember and ProjectMember This new association will allow us to check if a user is a member of a Project or Group through a single query instead of two. - Optimize retrieving of Members when adding multiple Users --- app/models/project.rb | 1 + 1 file changed, 1 insertion(+) (limited to 'app/models/project.rb') diff --git a/app/models/project.rb b/app/models/project.rb index 051c4c8e2ec..3d89dabd96f 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -144,6 +144,7 @@ class Project < ActiveRecord::Base has_many :requesters, -> { where.not(requested_at: nil) }, as: :source, class_name: 'ProjectMember', dependent: :delete_all # rubocop:disable Cop/ActiveRecordDependent + has_many :members_and_requesters, as: :source, class_name: 'ProjectMember' has_many :deploy_keys_projects has_many :deploy_keys, through: :deploy_keys_projects -- cgit v1.2.1