mirror of
https://github.com/HamzaSha1/zod-backend.git
synced 2025-11-26 00:24:54 +00:00
Merge pull request #47 from HamzaSha1/ZOD-341-junior-a-child-can-edit-their-email-to-an-existing-email-causing-multiple-child-accounts-to-share-the-same-login
Remove duplicate email cleanup logic and add unique constraint to use…
This commit is contained in:
@ -4,18 +4,7 @@ export class AddUniqueConstraintToUserEmail1761032305682 implements MigrationInt
|
|||||||
name = 'AddUniqueConstraintToUserEmail1761032305682'
|
name = 'AddUniqueConstraintToUserEmail1761032305682'
|
||||||
|
|
||||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||||
// Clean up duplicate emails - keep the oldest record (MIN id)
|
|
||||||
await queryRunner.query(`
|
|
||||||
DELETE FROM users
|
|
||||||
WHERE id IN (
|
|
||||||
SELECT u1.id
|
|
||||||
FROM users u1
|
|
||||||
INNER JOIN users u2 ON u1.email = u2.email AND u1.id > u2.id
|
|
||||||
WHERE u1.email IS NOT NULL
|
|
||||||
)
|
|
||||||
`);
|
|
||||||
|
|
||||||
// Add unique constraint
|
|
||||||
await queryRunner.query(`ALTER TABLE "users" ADD CONSTRAINT "UQ_97672ac88f789774dd47f7c8be3" UNIQUE ("email")`);
|
await queryRunner.query(`ALTER TABLE "users" ADD CONSTRAINT "UQ_97672ac88f789774dd47f7c8be3" UNIQUE ("email")`);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user