mirror of
https://github.com/discourse/discourse.git
synced 2024-12-30 06:33:50 +08:00
31 lines
968 B
Ruby
31 lines
968 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
|