mirror of
https://gh.wpcy.net/https://github.com/discourse/discourse.git
synced 2026-05-06 11:58:15 +08:00
This promotes all post-migrations which existed in `v2026.1` to regular pre-deploy migrations. We do this after each stable/esr release to reduce the probability of pre/post deploy timing issues.
36 lines
1.2 KiB
Ruby
36 lines
1.2 KiB
Ruby
# frozen_string_literal: true
|
|
class DeleteOldWatchedPrecedenceSetting < ActiveRecord::Migration[8.0]
|
|
def up
|
|
DB.exec(<<~SQL)
|
|
DELETE FROM site_settings WHERE name = 'watched_precedence_over_muted';
|
|
SQL
|
|
|
|
# NOTE: Redoing what the migration is doing in ConvertWatchedPrecedenceOverMutedToDefaultPref,
|
|
# to cover any gaps where the new code is not deployed everywhere.
|
|
existing_setting_value =
|
|
DB.query_single(
|
|
"SELECT value FROM site_settings WHERE name = 'default_watched_precedence_over_muted'",
|
|
).first
|
|
|
|
preference_value =
|
|
if existing_setting_value.nil?
|
|
# This is the default site setting value for default_watched_precedence_over_muted
|
|
preference_value = false
|
|
else
|
|
preference_value = existing_setting_value == "t"
|
|
end
|
|
|
|
DB.exec(<<~SQL, preference_value: preference_value)
|
|
UPDATE user_options
|
|
SET watched_precedence_over_muted = :preference_value
|
|
WHERE watched_precedence_over_muted IS NULL;
|
|
SQL
|
|
|
|
change_column_default :user_options, :watched_precedence_over_muted, from: nil, to: false
|
|
change_column_null :user_options, :watched_precedence_over_muted, false
|
|
end
|
|
|
|
def down
|
|
raise ActiveRecord::IrreversibleMigration
|
|
end
|
|
end
|