| 
						
						
							
								
							
						
						
					 | 
				
			
			 | 
			 | 
			
				@ -36,7 +36,7 @@ class FixAccountsUniqueIndex < ActiveRecord::Migration[5.2]
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  def deduplicate_account!(account_ids)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    accounts          = Account.where(id: account_ids).to_a
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    accounts          = account.first.local? ? accounts.sort_by(&:created_at) : accounts.sort_by(&:updated_at).reverse
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    accounts          = accounts.first.local? ? accounts.sort_by(&:created_at) : accounts.sort_by(&:updated_at).reverse
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    reference_account = accounts.shift
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    accounts.each do |other_account|
 | 
			
		
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
			
			 | 
			 | 
			
				@ -69,15 +69,19 @@ class FixAccountsUniqueIndex < ActiveRecord::Migration[5.2]
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    # to check for (and skip past) uniqueness errors
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    [Follow, FollowRequest, Block, Mute].each do |klass|
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      klass.where(account_id: duplicate_account.id).find_each do |record|
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        record.update(account_id: main_account.id)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      rescue ActiveRecord::RecordNotUnique
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        next
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        begin
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				          record.update(account_id: main_account.id)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        rescue ActiveRecord::RecordNotUnique
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				          next
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        end
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      end
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      klass.where(target_account_id: duplicate_account.id).find_each do |record|
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        record.update(target_account_id: main_account.id)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      rescue ActiveRecord::RecordNotUnique
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        next
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        begin
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				          record.update(target_account_id: main_account.id)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        rescue ActiveRecord::RecordNotUnique
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				          next
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        end
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      end
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    end
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  end
 | 
			
		
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
			
			 | 
			 | 
			
				
 
 |