Source code for the custom Mastodon (Glitchsoc) instance on berserker.town. https://berserker.town/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

24 lines
901 B

# frozen_string_literal: true
class AddPrimaryKeyToAccountsTagsJoinTable < ActiveRecord::Migration[6.1]
disable_ddl_transaction!
def up
ActiveRecord::Base.transaction do
safety_assured do
execute 'ALTER TABLE accounts_tags ADD PRIMARY KEY USING INDEX index_accounts_tags_on_tag_id_and_account_id'
# Rename for consistency as the primary key's name is not represented in db/schema.rb
execute 'ALTER INDEX index_accounts_tags_on_tag_id_and_account_id RENAME TO accounts_tags_pkey'
end
end
end
def down
safety_assured do
# I have found no way to demote the primary key to an index, instead, re-create the index
execute 'CREATE UNIQUE INDEX CONCURRENTLY index_accounts_tags_on_tag_id_and_account_id ON accounts_tags (tag_id, account_id)'
execute 'ALTER TABLE accounts_tags DROP CONSTRAINT accounts_tags_pkey'
end
end
end