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
This commit is contained in:
		
					parent
					
						
							
								00392d3c63
							
						
					
				
			
			
				commit
				
					
						fa08b5079d
					
				
			
		
					 1 changed files with 7 additions and 2 deletions
				
			
		|  | @ -76,9 +76,14 @@ namespace :mastodon do | ||||||
|   end |   end | ||||||
| 
 | 
 | ||||||
|   namespace :users do |   namespace :users do | ||||||
|     desc 'clear unconfirmed users' |     desc 'Clear out unconfirmed users' | ||||||
|     task clear: :environment do |     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 | ||||||
|   end |   end | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue