Fix unique violation in downcase custom emoji domain migration (#9733)
Fix #9727
This commit is contained in:
		
							parent
							
								
									5dbe186585
								
							
						
					
					
						commit
						0e989a5b8f
					
				
					 1 changed files with 9 additions and 1 deletions
				
			
		|  | @ -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 | ||||
|  |  | |||
		Reference in a new issue