discourse/db/migrate/20190403202001_fix_reviewable_users.rb
Robin Ward 111a502231 FIX: Deleting Users should work nicely with Reviewable Users
"Rejecting" a user in the queue is equivalent to deleting them, which
would then making it impossible to review rejected users. Now we store
information about the user in the payload so if they are deleted things
still display in the Rejected view.

Secondly, if a user is destroyed outside of the review queue, it will
now automatically "Reject" that queue item.
2019-04-03 16:42:39 -04:00

21 lines
513 B
Ruby

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