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.
32 lines
1.2 KiB
32 lines
1.2 KiB
# frozen_string_literal: true |
|
|
|
class RemoveLegacyUserSettingsData < ActiveRecord::Migration[7.2] |
|
def up |
|
connection.execute(<<~SQL.squish) |
|
DELETE FROM settings |
|
WHERE |
|
thing_type IS NOT NULL |
|
AND thing_id IS NOT NULL |
|
SQL |
|
|
|
# When running these migrations on mastodon.social, we saw 'notification_emails' |
|
# and 'interactions' records that were not associated to a user and caused a |
|
# migration issue. |
|
# While I have not been able to pinpoint the exact cause of the issue, it is likely |
|
# related to the settings system changes made in b11fdc3ae3f90731c01149a5a36dc64e065d4ea2. |
|
# So, delete a few user settings that should already have been deleted. |
|
connection.execute(<<~SQL.squish) |
|
DELETE FROM settings |
|
WHERE var IN ( |
|
'notification_emails', 'interactions', 'boost_modal', 'auto_play_gif', |
|
'delete_modal', 'system_font_ui', 'default_sensitive', 'unfollow_modal', |
|
'reduce_motion', 'display_sensitive_media', 'hide_network', 'expand_spoilers', |
|
'display_media', 'aggregate_reblogs', 'show_application', 'advanced_layout', |
|
'use_blurhash', 'use_pending_items') |
|
SQL |
|
end |
|
|
|
def down |
|
raise ActiveRecord::IrreversibleMigration |
|
end |
|
end
|
|
|