@@ -414,6 +414,8 @@ WITH profiles AS (
|
||||
mp.id,
|
||||
mp.identity_id,
|
||||
mp.organization_id,
|
||||
mp.source,
|
||||
mp.state,
|
||||
mp.full_name,
|
||||
mp.kind,
|
||||
mp.additional_email_addresses,
|
||||
@@ -438,12 +440,15 @@ SELECT
|
||||
p.identity_id,
|
||||
p.organization_id,
|
||||
i.email_address,
|
||||
p.source,
|
||||
p.state,
|
||||
p.full_name,
|
||||
p.kind,
|
||||
p.additional_email_addresses,
|
||||
p.position,
|
||||
p.contract_start_date,
|
||||
p.contract_end_date,
|
||||
'' AS organization_name,
|
||||
p.created_at,
|
||||
p.updated_at
|
||||
FROM profiles p
|
||||
@@ -516,6 +521,8 @@ WITH profiles AS (
|
||||
mp.identity_id,
|
||||
mp.organization_id,
|
||||
mp.full_name,
|
||||
mp.source,
|
||||
mp.state,
|
||||
mp.kind,
|
||||
mp.additional_email_addresses,
|
||||
mp.position,
|
||||
@@ -539,12 +546,15 @@ SELECT
|
||||
p.identity_id,
|
||||
p.organization_id,
|
||||
i.email_address,
|
||||
p.source,
|
||||
p.state,
|
||||
p.full_name,
|
||||
p.kind,
|
||||
p.additional_email_addresses,
|
||||
p.position,
|
||||
p.contract_start_date,
|
||||
p.contract_end_date,
|
||||
'' AS organization_name,
|
||||
p.created_at,
|
||||
p.updated_at
|
||||
FROM profiles p
|
||||
|
||||
@@ -184,6 +184,27 @@ WHERE
|
||||
pi.organization_id = i.organization_id
|
||||
AND pi.email_address = i.email;
|
||||
|
||||
-- Delete orphan invitations: e.g. expired invitations that were never accepted
|
||||
WITH orphan_invitations AS (
|
||||
SELECT
|
||||
inv.id
|
||||
FROM
|
||||
iam_invitations inv
|
||||
LEFT JOIN identities i ON i.email_address = inv.email
|
||||
LEFT JOIN iam_membership_profiles p ON p.identity_id = i.id
|
||||
WHERE
|
||||
i.id IS NULL OR p.id IS NULL
|
||||
)
|
||||
DELETE FROM
|
||||
iam_invitations
|
||||
WHERE
|
||||
id IN (
|
||||
SELECT
|
||||
id
|
||||
FROM
|
||||
orphan_invitations
|
||||
);
|
||||
|
||||
ALTER TABLE
|
||||
iam_invitations
|
||||
ALTER COLUMN
|
||||
@@ -197,4 +218,4 @@ ALTER COLUMN
|
||||
ALTER COLUMN
|
||||
role DROP NOT NULL,
|
||||
ALTER COLUMN
|
||||
full_name DROP NOT NULL;
|
||||
full_name DROP NOT NULL;
|
||||
Reference in New Issue
Block a user