mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2025-09-06 05:04:35 +08:00
Optimize MoveEveryOneElseAssignmentToTeamAssignments migration [SCI-12283]
This commit is contained in:
parent
e419e6d995
commit
6b5e1a6526
1 changed files with 3 additions and 3 deletions
|
@ -74,7 +74,7 @@ class MoveEveryOneElseAssignmentToTeamAssignments < ActiveRecord::Migration[7.2]
|
||||||
end
|
end
|
||||||
|
|
||||||
# PET
|
# PET
|
||||||
Project.visible.preload(:experiments).find_in_batches(batch_size: 100) do |projects|
|
Project.visible.find_in_batches(batch_size: 10) do |projects|
|
||||||
projects.each do |project|
|
projects.each do |project|
|
||||||
project_automatic_user_assignments = project.user_assignments.where(assigned: :automatically)
|
project_automatic_user_assignments = project.user_assignments.where(assigned: :automatically)
|
||||||
next if project_automatic_user_assignments.blank?
|
next if project_automatic_user_assignments.blank?
|
||||||
|
@ -82,8 +82,8 @@ class MoveEveryOneElseAssignmentToTeamAssignments < ActiveRecord::Migration[7.2]
|
||||||
user_role = project_automatic_user_assignments.first.user_role
|
user_role = project_automatic_user_assignments.first.user_role
|
||||||
team_assignment_values = []
|
team_assignment_values = []
|
||||||
|
|
||||||
project.experiments.preload(:my_modules).each do |experiment|
|
Experiment.joins(:project).where(project: project).find_each do |experiment|
|
||||||
experiment.my_modules.each do |my_module|
|
MyModule.joins(:experiment).where(experiment: experiment).find_each do |my_module|
|
||||||
team_assignment_values << new_team_assignment(project.team_id, my_module, user_role)
|
team_assignment_values << new_team_assignment(project.team_id, my_module, user_role)
|
||||||
my_module.automatic_user_assignments.where(user_id: project_automatic_user_assignments.select(:user_id)).delete_all
|
my_module.automatic_user_assignments.where(user_id: project_automatic_user_assignments.select(:user_id)).delete_all
|
||||||
end
|
end
|
||||||
|
|
Loading…
Add table
Reference in a new issue