Remove meeting_attendees duplicates before adding new PK
Signed-off-by: Émile Ré <emile@getprobo.com>
This commit is contained in:
@@ -157,15 +157,14 @@ SELECT
|
|||||||
p.full_name
|
p.full_name
|
||||||
FROM
|
FROM
|
||||||
(
|
(
|
||||||
SELECT DISTINCT ON (primary_email_address)
|
SELECT
|
||||||
primary_email_address,
|
DISTINCT ON (primary_email_address) primary_email_address,
|
||||||
full_name
|
full_name
|
||||||
FROM
|
FROM
|
||||||
peoples
|
peoples
|
||||||
ORDER BY
|
ORDER BY
|
||||||
primary_email_address
|
primary_email_address
|
||||||
) p
|
) p ON CONFLICT (email_address) DO
|
||||||
ON CONFLICT (email_address) DO
|
|
||||||
UPDATE
|
UPDATE
|
||||||
SET
|
SET
|
||||||
full_name = EXCLUDED.full_name;
|
full_name = EXCLUDED.full_name;
|
||||||
@@ -510,7 +509,25 @@ ALTER COLUMN
|
|||||||
ALTER COLUMN
|
ALTER COLUMN
|
||||||
attendee_profile_id
|
attendee_profile_id
|
||||||
SET
|
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
|
ADD
|
||||||
PRIMARY KEY (meeting_id, attendee_profile_id);
|
PRIMARY KEY (meeting_id, attendee_profile_id);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user