about summary refs log tree commit diff
diff options
context:
space:
mode:
authorClaire <claire.github-309c@sitedethib.com>2023-04-07 20:56:11 +0200
committerGitHub <noreply@github.com>2023-04-07 20:56:11 +0200
commitdc6befe1a488adb76dd8c7c682a806b99cd16004 (patch)
tree892d29f3af8adaa96da87e1947913c6d427ffaf7
parentc3a8f6a0a33c264d0c461232ab35034a1210a733 (diff)
Fix migrating from upstream to glitch-soc messing with hide_notifications mute settings (#2164)
-rw-r--r--db/migrate/20170716191202_add_hide_notifications_to_mute.rb14
-rw-r--r--db/migrate/20170914032032_default_existing_mutes_to_hiding_notifications.rb11
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