Fix emoji_reactions table not found error when managing custom_emojis table

This commit is contained in:
KMY 2023-08-08 10:48:50 +09:00
parent 875cecf4d8
commit 9185091ae9

View file

@ -3,11 +3,9 @@
class DowncaseCustomEmojiDomains < ActiveRecord::Migration[5.2] class DowncaseCustomEmojiDomains < ActiveRecord::Migration[5.2]
disable_ddl_transaction! disable_ddl_transaction!
class EmojiReaction < ApplicationRecord
# Dummy class, to make migration possible across version changes
end
def up 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 = 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| duplicates.each do |row|
@ -15,6 +13,8 @@ class DowncaseCustomEmojiDomains < ActiveRecord::Migration[5.2]
end end
CustomEmoji.in_batches.update_all('domain = lower(domain)') CustomEmoji.in_batches.update_all('domain = lower(domain)')
CustomEmoji.connection.execute('DROP TABLE IF EXISTS emoji_reactions')
end end
def down; end def down; end