discourse/db/migrate/20220302163246_update_avata...

28 lines
945 B
Ruby

# frozen_string_literal: true
class UpdateAvatarServiceDomain < ActiveRecord::Migration[6.1]
def up
existing_value = DB.query_single("SELECT value FROM site_settings WHERE name = 'external_system_avatars_url'")&.[](0)
if existing_value&.include?("avatars.discourse.org")
new_value = DB.query_single(<<~SQL)&.[](0)
UPDATE site_settings
SET value = REPLACE(value, 'avatars.discourse.org', 'avatars.discourse-cdn.com')
WHERE name = 'external_system_avatars_url'
AND value LIKE '%avatars.discourse.org%'
RETURNING value
SQL
DB.exec <<~SQL, previous: existing_value, new: new_value
INSERT INTO user_histories
(action, subject, previous_value, new_value, admin_only, updated_at, created_at, acting_user_id)
VALUES (3, 'external_system_avatars_url', :previous, :new, true, NOW(), NOW(), -1)
SQL
end
end
def down
# Nothing to do
end
end