Fix unique violation in downcase custom emoji domain migration (#9733)
Fix #9727
This commit is contained in:
		
							parent
							
								
									5dbe186585
								
							
						
					
					
						commit
						0e989a5b8f
					
				@ -1,7 +1,15 @@
 | 
			
		||||
class DowncaseCustomEmojiDomains < ActiveRecord::Migration[5.2]
 | 
			
		||||
  disable_ddl_transaction!
 | 
			
		||||
 | 
			
		||||
  def change
 | 
			
		||||
  def up
 | 
			
		||||
    duplicates = CustomEmoji.connection.select_all('SELECT string_agg(id::text, \',\') AS ids FROM custom_emojis GROUP BY lower(domain) HAVING count(*) > 1').to_hash
 | 
			
		||||
 | 
			
		||||
    duplicates.each do |row|
 | 
			
		||||
      CustomEmoji.where(id: row['ids'].split(',')[0...-1]).destroy_all
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    CustomEmoji.in_batches.update_all('domain = lower(domain)')
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def down; end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user