18 lines
438 B
Ruby
18 lines
438 B
Ruby
# 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
|