From 03d9618595bd2433a319c0bfc0f5bbb14653d0d6 Mon Sep 17 00:00:00 2001
From: Claire <claire.github-309c@sitedethib.com>
Date: Tue, 1 Nov 2022 12:59:23 +0100
Subject: [PATCH] Fix UserCleanupScheduler crash when an unconfirmed account
 has a moderation note (#19629)

Fixes #19109
---
 app/workers/scheduler/user_cleanup_scheduler.rb | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/app/workers/scheduler/user_cleanup_scheduler.rb b/app/workers/scheduler/user_cleanup_scheduler.rb
index d1f00c47fb..7a6995a1ff 100644
--- a/app/workers/scheduler/user_cleanup_scheduler.rb
+++ b/app/workers/scheduler/user_cleanup_scheduler.rb
@@ -15,6 +15,8 @@ class Scheduler::UserCleanupScheduler
 
   def clean_unconfirmed_accounts!
     User.where('confirmed_at is NULL AND confirmation_sent_at <= ?', 2.days.ago).reorder(nil).find_in_batches do |batch|
+      # We have to do it separately because of missing database constraints
+      AccountModerationNote.where(account_id: batch.map(&:account_id)).delete_all
       Account.where(id: batch.map(&:account_id)).delete_all
       User.where(id: batch.map(&:id)).delete_all
     end
-- 
GitLab