From 7a284164ceb457baca1c95411e377236ff403e65 Mon Sep 17 00:00:00 2001 From: David Taylor Date: Tue, 29 Mar 2022 16:56:55 +0100 Subject: [PATCH] PERF: Update UserDestroyer to fetch histories and actions in batch (#16316) This is much more memory-efficient when there are 1000s of rows --- app/services/user_destroyer.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/services/user_destroyer.rb b/app/services/user_destroyer.rb index bc02627021..837c60dc99 100644 --- a/app/services/user_destroyer.rb +++ b/app/services/user_destroyer.rb @@ -40,14 +40,14 @@ class UserDestroyer delete_posts(user, category_topic_ids, opts) end - user.post_actions.each do |post_action| + user.post_actions.find_each do |post_action| post_action.remove_act!(Discourse.system_user) end # Add info about the user to staff action logs UserHistory.staff_action_records( Discourse.system_user, acting_user: user.username - ).each do |log| + ).find_each do |log| log.details ||= '' log.details = (log.details.split("\n") + ["user_id: #{user.id}", "username: #{user.username}"]