Make settings-related database migrations more robust (#37079)

This commit is contained in:
Claire
2025-12-01 15:11:49 +01:00
committed by GitHub
parent edfbcfb3f5
commit e5651e7e04
2 changed files with 8 additions and 2 deletions

View File

@@ -4,6 +4,8 @@ class MigrateTimelinePreviewSetting < ActiveRecord::Migration[8.0]
class Setting < ApplicationRecord; end
def up
Setting.reset_column_information
setting = Setting.find_by(var: 'timeline_preview')
return unless setting.present? && setting.attributes['value'].present?
@@ -12,7 +14,8 @@ class MigrateTimelinePreviewSetting < ActiveRecord::Migration[8.0]
Setting.upsert_all(
%w(local_live_feed_access remote_live_feed_access local_topic_feed_access remote_topic_feed_access).map do |var|
{ var: var, value: value ? "--- public\n" : "--- authenticated\n" }
end
end,
unique_by: index_exists?(:settings, [:thing_type, :thing_id, :var]) ? [:thing_type, :thing_id, :var] : :var
)
end

View File

@@ -4,6 +4,8 @@ class MigrateLandingPageSetting < ActiveRecord::Migration[8.0]
class Setting < ApplicationRecord; end
def up
Setting.reset_column_information
setting = Setting.find_by(var: 'trends_as_landing_page')
return unless setting.present? && setting.attributes['value'].present?
@@ -12,7 +14,8 @@ class MigrateLandingPageSetting < ActiveRecord::Migration[8.0]
Setting.upsert({
var: 'landing_page',
value: value ? "--- trends\n" : "--- about\n",
})
},
unique_by: index_exists?(:settings, [:thing_type, :thing_id, :var]) ? [:thing_type, :thing_id, :var] : :var)
end
def down; end