0
0
Fork 0

Remove thing_type and thing_id columns from settings table (#31971)

This commit is contained in:
Matt Jankowski 2024-12-05 09:34:14 -05:00 committed by GitHub
parent b82c791770
commit 17c02c9210
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 60 additions and 11 deletions

View file

@ -13,6 +13,13 @@ class MigrateHideNetworkPreference < ActiveRecord::Migration[6.1]
belongs_to :account
end
class Setting < ApplicationRecord
# Mirror the behavior of the `Setting` model at this point in db history
def value
YAML.safe_load(self[:value], permitted_classes: [ActiveSupport::HashWithIndifferentAccess, Symbol]) if self[:value].present?
end
end
def up
Account.reset_column_information

View file

@ -0,0 +1,16 @@
# 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
end
def down
raise ActiveRecord::IrreversibleMigration
end
end