Browse Source

Make the rake mastodon:users:clear task properly clear out unconfirmed users (#1777)

Before it cleared out user records only (e-mail, password) without
freeing up the associated username (account record). Furthermore, since
these records have no dependent records (due to no user activity)
they can be deleted quickly with delete_all instead of destroy
closed-social-v3
Eugen 7 years ago
committed by GitHub
parent
commit
fa08b5079d
1 changed files with 7 additions and 2 deletions
  1. +7
    -2
      lib/tasks/mastodon.rake

+ 7
- 2
lib/tasks/mastodon.rake View File

@ -76,9 +76,14 @@ namespace :mastodon do
end
namespace :users do
desc 'clear unconfirmed users'
desc 'Clear out unconfirmed users'
task clear: :environment do
User.where('confirmed_at is NULL AND confirmation_sent_at <= ?', 2.days.ago).find_each(&:destroy)
# Users that never confirmed e-mail never signed in, means they
# only have a user record and an avatar record, with no files uploaded
User.where('confirmed_at is NULL AND confirmation_sent_at <= ?', 2.days.ago).find_in_batches do |batch|
Account.where(id: batch.map(&:account_id)).delete_all
batch.delete_all
end
end
end

Loading…
Cancel
Save