From dc6befe1a488adb76dd8c7c682a806b99cd16004 Mon Sep 17 00:00:00 2001 From: Claire Date: Fri, 7 Apr 2023 20:56:11 +0200 Subject: Fix migrating from upstream to glitch-soc messing with hide_notifications mute settings (#2164) --- .../20170716191202_add_hide_notifications_to_mute.rb | 14 ++++++++++++-- ...32032_default_existing_mutes_to_hiding_notifications.rb | 11 ++++++++--- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/db/migrate/20170716191202_add_hide_notifications_to_mute.rb b/db/migrate/20170716191202_add_hide_notifications_to_mute.rb index de7d2a4a2..a498396b7 100644 --- a/db/migrate/20170716191202_add_hide_notifications_to_mute.rb +++ b/db/migrate/20170716191202_add_hide_notifications_to_mute.rb @@ -1,5 +1,15 @@ +require Rails.root.join('lib', 'mastodon', 'migration_helpers') + class AddHideNotificationsToMute < ActiveRecord::Migration[5.1] - def change - add_column :mutes, :hide_notifications, :boolean, default: false, null: false + include Mastodon::MigrationHelpers + + disable_ddl_transaction! + + def up + add_column_with_default :mutes, :hide_notifications, :boolean, default: true, allow_null: false + end + + def down + remove_column :mutes, :hide_notifications end end diff --git a/db/migrate/20170914032032_default_existing_mutes_to_hiding_notifications.rb b/db/migrate/20170914032032_default_existing_mutes_to_hiding_notifications.rb index 8e6cac455..d9866dfde 100644 --- a/db/migrate/20170914032032_default_existing_mutes_to_hiding_notifications.rb +++ b/db/migrate/20170914032032_default_existing_mutes_to_hiding_notifications.rb @@ -1,8 +1,13 @@ +# frozen_string_literal: true + +# This migration is glitch-soc-only because mutes were originally developed in +# glitch-soc and the default value changed when submitting the code upstream. + +# This migration originally changed existing values to `true`, but this has +# been dropped as to not cause issues when migrating from upstream. + class DefaultExistingMutesToHidingNotifications < ActiveRecord::Migration[5.1] def up change_column_default :mutes, :hide_notifications, from: false, to: true - - # Unfortunately if this is applied sometime after the one to add the table we lose some data, so this is irreversible. - Mute.update_all(hide_notifications: true) end end -- cgit