2023-07-12 16:47:08 +09:00
# frozen_string_literal: true
2018-12-11 13:30:57 +09:00
class DowncaseCustomEmojiDomains < ActiveRecord :: Migration [ 5 . 2 ]
disable_ddl_transaction!
2019-01-07 07:53:46 +09:00
def up
2021-03-19 10:45:34 +09:00
duplicates = CustomEmoji . connection . select_all ( 'SELECT string_agg(id::text, \',\') AS ids FROM custom_emojis GROUP BY shortcode, lower(domain) HAVING count(*) > 1' ) . to_ary
2019-01-07 07:53:46 +09:00
duplicates . each do | row |
CustomEmoji . where ( id : row [ 'ids' ] . split ( ',' ) [ 0 ... - 1 ] ) . destroy_all
end
2018-12-11 13:30:57 +09:00
CustomEmoji . in_batches . update_all ( 'domain = lower(domain)' )
end
2019-01-07 07:53:46 +09:00
def down ; end
2018-12-11 13:30:57 +09:00
end