Fix migrating from upstream to glitch-soc messing with hide_notifications mute settings (#2164)

This commit is contained in:
Claire 2023-04-07 20:56:11 +02:00 committed by GitHub
parent c3a8f6a0a3
commit dc6befe1a4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 20 additions and 5 deletions

View file

@ -1,5 +1,15 @@
require Rails.root.join('lib', 'mastodon', 'migration_helpers')
class AddHideNotificationsToMute < ActiveRecord::Migration[5.1] class AddHideNotificationsToMute < ActiveRecord::Migration[5.1]
def change include Mastodon::MigrationHelpers
add_column :mutes, :hide_notifications, :boolean, default: false, null: false
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
end end

View file

@ -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] class DefaultExistingMutesToHidingNotifications < ActiveRecord::Migration[5.1]
def up def up
change_column_default :mutes, :hide_notifications, from: false, to: true 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
end end