From 7d5b18b7cfc053162655641c2f1703d4d8441e7d Mon Sep 17 00:00:00 2001 From: Roman Rizzi Date: Thu, 1 Oct 2020 08:49:10 -0300 Subject: [PATCH] FIX: Migration should only update ReviewableUsers where the user is not approved. (#10790) The reviewable was updated despite the user not being approved because a u.id = r.target_id condition is missing. It only affected user reviewables that were pending when the migration ran. Users were not auto-approved. --- ...0200311135425_clear_approved_users_from_the_review_queue.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/db/migrate/20200311135425_clear_approved_users_from_the_review_queue.rb b/db/migrate/20200311135425_clear_approved_users_from_the_review_queue.rb index 07cb662d74e..d26e4acb4cc 100644 --- a/db/migrate/20200311135425_clear_approved_users_from_the_review_queue.rb +++ b/db/migrate/20200311135425_clear_approved_users_from_the_review_queue.rb @@ -5,7 +5,8 @@ class ClearApprovedUsersFromTheReviewQueue < ActiveRecord::Migration[6.0] UPDATE reviewables r SET status = #{Reviewable.statuses[:approved]} FROM users u - WHERE u.approved = true AND r.type = 'ReviewableUser' AND r.status = #{Reviewable.statuses[:pending]} + WHERE u.id = r.target_id AND u.approved = true + AND r.type = 'ReviewableUser' AND r.status = #{Reviewable.statuses[:pending]} RETURNING r.id SQL