From 008551350335bc3816fe415cdff3c3ca60fef17d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89mile=20R=C3=A9?= Date: Thu, 12 Feb 2026 15:54:14 +0400 Subject: [PATCH] Remove meeting_attendees duplicates before adding new PK MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Émile Ré --- pkg/coredata/migrations/20260203T132700Z.sql | 29 ++++++++++++++++---- 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/pkg/coredata/migrations/20260203T132700Z.sql b/pkg/coredata/migrations/20260203T132700Z.sql index ec2ef86b6..ec20c86a6 100644 --- a/pkg/coredata/migrations/20260203T132700Z.sql +++ b/pkg/coredata/migrations/20260203T132700Z.sql @@ -157,15 +157,14 @@ SELECT p.full_name FROM ( - SELECT DISTINCT ON (primary_email_address) - primary_email_address, + SELECT + DISTINCT ON (primary_email_address) primary_email_address, full_name FROM peoples ORDER BY primary_email_address - ) p -ON CONFLICT (email_address) DO + ) p ON CONFLICT (email_address) DO UPDATE SET full_name = EXCLUDED.full_name; @@ -510,7 +509,25 @@ ALTER COLUMN ALTER COLUMN attendee_profile_id SET - NOT NULL, + NOT NULL; + +WITH duplicates AS ( + SELECT + meeting_id, + attendee_profile_id, + ROW_NUMBER() OVER (PARTITION BY meeting_id, attendee_profile_id) AS rn + FROM + meeting_attendees +) +DELETE FROM + meeting_attendees ma USING duplicates d +WHERE + ma.meeting_id = d.meeting_id + AND ma.attendee_profile_id = d.attendee_profile_id + AND d.rn > 1; + +ALTER TABLE + meeting_attendees ADD PRIMARY KEY (meeting_id, attendee_profile_id); @@ -574,4 +591,4 @@ FROM people_identities pi WHERE pi.organization_id = i.organization_id - AND i.email = pi.email_address; + AND i.email = pi.email_address; \ No newline at end of file