~cytrogen/masto-fe

dc6befe1a488adb76dd8c7c682a806b99cd16004 — Claire 3 years ago c3a8f6a
Fix migrating from upstream to glitch-soc messing with hide_notifications mute settings (#2164)

M db/migrate/20170716191202_add_hide_notifications_to_mute.rb => db/migrate/20170716191202_add_hide_notifications_to_mute.rb +12 -2
@@ 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

M db/migrate/20170914032032_default_existing_mutes_to_hiding_notifications.rb => db/migrate/20170914032032_default_existing_mutes_to_hiding_notifications.rb +8 -3
@@ 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