Fix unique violation in downcase custom emoji domain migration (#9733)

Fix #9727
This commit is contained in:
Eugen Rochko 2019-01-06 23:53:46 +01:00 committed by GitHub
parent f6940286f5
commit bed1c8ca9a

View file

@ -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