Skip to content

Commit

Permalink
Merge pull request #769 from numerique-gouv/remove-non-verifed-duplic…
Browse files Browse the repository at this point in the history
…ated

refactor: remove duplicated non verified email domains
  • Loading branch information
rdubigny authored Oct 17, 2024
2 parents 5619af4 + 49828a9 commit 1fc18ea
Showing 1 changed file with 40 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
exports.shorthands = undefined;

exports.up = async (pgm) => {
await pgm.db.query(`
WITH cte AS (
SELECT id,
ROW_NUMBER()
OVER (PARTITION BY organization_id, domain, verification_type ORDER BY updated_at DESC) AS rn
FROM email_domains
)
DELETE
FROM email_domains
WHERE id IN (
SELECT id
FROM cte
WHERE rn > 1
);
`);
await pgm.db.query(`
ALTER TABLE email_domains
DROP CONSTRAINT unique_organization_domain;
`);
await pgm.db.query(`
ALTER TABLE email_domains
ADD CONSTRAINT unique_organization_domain
UNIQUE NULLS NOT DISTINCT (organization_id, domain, verification_type);
`);
};

exports.down = async (pgm) => {
await pgm.db.query(`
ALTER TABLE email_domains
DROP CONSTRAINT unique_organization_domain;
`);
await pgm.db.query(`
ALTER TABLE email_domains
ADD CONSTRAINT unique_organization_domain
UNIQUE (organization_id, domain, verification_type);
`);
};

0 comments on commit 1fc18ea

Please sign in to comment.