mirror of
https://github.com/mastodon/mastodon.git
synced 2024-12-14 06:23:20 +00:00
31 lines
940 B
Ruby
31 lines
940 B
Ruby
# frozen_string_literal: true
|
|
|
|
class RemoveLegacyUserSettingsColumns < ActiveRecord::Migration[7.2]
|
|
disable_ddl_transaction!
|
|
|
|
def up
|
|
# In normal usage this should not find anything to delete
|
|
# Deletion here is already done in RemoveLegacyUserSettingsData migration
|
|
# and no data like this should be created from app at this point
|
|
# Deleting again out of caution
|
|
connection.execute(<<~SQL.squish)
|
|
DELETE FROM settings
|
|
WHERE
|
|
thing_type IS NOT NULL
|
|
AND thing_id IS NOT NULL
|
|
SQL
|
|
|
|
add_index :settings, :var, unique: true, algorithm: :concurrently
|
|
remove_index :settings, [:thing_type, :thing_id, :var], name: :index_settings_on_thing_type_and_thing_id_and_var, unique: true
|
|
|
|
safety_assured do
|
|
remove_column :settings, :thing_type, :string
|
|
remove_column :settings, :thing_id, :bigint
|
|
end
|
|
end
|
|
|
|
def down
|
|
raise ActiveRecord::IrreversibleMigration
|
|
end
|
|
end
|