diff --git a/db/migrate/20181207011115_downcase_custom_emoji_domains.rb b/db/migrate/20181207011115_downcase_custom_emoji_domains.rb index 0497f7be10..b5fc70882e 100644 --- a/db/migrate/20181207011115_downcase_custom_emoji_domains.rb +++ b/db/migrate/20181207011115_downcase_custom_emoji_domains.rb @@ -3,11 +3,9 @@ class DowncaseCustomEmojiDomains < ActiveRecord::Migration[5.2] disable_ddl_transaction! - class EmojiReaction < ApplicationRecord - # Dummy class, to make migration possible across version changes - end - def up + CustomEmoji.connection.execute('CREATE TABLE IF NOT EXISTS emoji_reactions (id integer, custom_emoji_id integer, created_at datetime NOT NULL, updated_at datetime NOT NULL)') + 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 duplicates.each do |row| @@ -15,6 +13,8 @@ class DowncaseCustomEmojiDomains < ActiveRecord::Migration[5.2] end CustomEmoji.in_batches.update_all('domain = lower(domain)') + + CustomEmoji.connection.execute('DROP TABLE IF EXISTS emoji_reactions') end def down; end