Fix UserCleanupScheduler crash when an unconfirmed account has a moderation note (#23318) (#23487)

* Fix `UserCleanupScheduler` crash when an unconfirmed account has a moderation note

* Add tests
This commit is contained in:
Claire 2023-02-09 21:01:38 +01:00 committed by GitHub
commit 6cbc589990
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 41 additions and 0 deletions

View file

@ -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(target_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