forked from cybrespace/mastodon
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]
|
class DowncaseCustomEmojiDomains < ActiveRecord::Migration[5.2]
|
||||||
disable_ddl_transaction!
|
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)')
|
CustomEmoji.in_batches.update_all('domain = lower(domain)')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def down; end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue