FIX: Add migration to set correct redemption_count (#12491)

Redeeming email invites did not increase the redemption_count which let
those invites in a weird state were they were both pending and redeemed.
This commit is contained in:
Dan Ungureanu
2021-03-23 18:57:39 +02:00
committed by GitHub
parent 066c59d0e3
commit 2a4ddc621d
2 changed files with 19 additions and 1 deletions

View File

@@ -0,0 +1,17 @@
# frozen_string_literal: true
class UpdateInvitesRedemptionCount < ActiveRecord::Migration[6.0]
def change
execute <<~SQL
WITH invite_counts AS (
SELECT invite_id, COUNT(*) count
FROM invited_users
GROUP BY invite_id
)
UPDATE invites
SET redemption_count = GREATEST(redemption_count, count)
FROM invite_counts
WHERE invites.id = invite_counts.invite_id
SQL
end
end