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

pull/37083/head
Claire 1 month ago committed by GitHub
parent edfbcfb3f5
commit e5651e7e04
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -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

@ -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

Loading…
Cancel
Save