discourse/db/migrate/20190403202001_fix_reviewable_users.rb
Sam Saffron 30990006a9 DEV: enable frozen string literal on all files
This reduces chances of errors where consumers of strings mutate inputs
and reduces memory usage of the app.

Test suite passes now, but there may be some stuff left, so we will run
a few sites on a branch prior to merging
2019-05-13 09:31:32 +08:00

23 lines
544 B
Ruby

# frozen_string_literal: true
class FixReviewableUsers < ActiveRecord::Migration[5.2]
def up
execute(<<~SQL)
UPDATE reviewables
SET payload = json_build_object(
'username', u.username,
'name', u.name,
'email', ue.email
)::jsonb
FROM reviewables AS r
LEFT OUTER JOIN users AS u ON u.id = r.target_id
LEFT OUTER JOIN user_emails AS ue ON ue.user_id = u.id AND ue.primary
WHERE r.id = reviewables.id
AND r.type = 'ReviewableUser'
SQL
end
def down
end
end