From 3fbb108646236def03a8515ad1f84ee17e7319b4 Mon Sep 17 00:00:00 2001 From: Harkamal Randhawa Date: Sun, 29 Mar 2026 22:14:53 -0600 Subject: [PATCH] Preserve backfill emails --- .../migration/V9__backfill_user_accounts.sql | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/backend/src/main/resources/db/migration/V9__backfill_user_accounts.sql b/backend/src/main/resources/db/migration/V9__backfill_user_accounts.sql index 1c62e4eb..4af69669 100644 --- a/backend/src/main/resources/db/migration/V9__backfill_user_accounts.sql +++ b/backend/src/main/resources/db/migration/V9__backfill_user_accounts.sql @@ -2,7 +2,15 @@ INSERT INTO users (username, password, email, fullName, phone, role, active, tok SELECT CONCAT('customer_', c.customerId) AS username, '$2a$10$mE0D/HrnCuqFeEqMy0NJwuy2jkoRYjQ7GrKcc/7QQ0r2AqnZTvyGq' AS password, - CONCAT('customer_', c.customerId, '@petshop.local') AS email, + CASE + WHEN c.email IS NOT NULL + AND c.email <> '' + AND (SELECT COUNT(*) FROM customer c2 WHERE c2.email = c.email) = 1 + AND NOT EXISTS (SELECT 1 FROM employee e2 WHERE e2.email = c.email) + AND NOT EXISTS (SELECT 1 FROM users u WHERE u.email = c.email) + THEN c.email + ELSE CONCAT('customer_', c.customerId, '@petshop.local') + END AS email, CONCAT(c.firstName, ' ', c.lastName) AS fullName, CONCAT('200-000-', LPAD(c.customerId, 4, '0')) AS phone, 'CUSTOMER' AS role, @@ -20,7 +28,15 @@ INSERT INTO users (username, password, email, fullName, phone, role, active, tok SELECT CONCAT('employee_', e.employeeId) AS username, '$2a$10$mE0D/HrnCuqFeEqMy0NJwuy2jkoRYjQ7GrKcc/7QQ0r2AqnZTvyGq' AS password, - CONCAT('employee_', e.employeeId, '@petshop.local') AS email, + CASE + WHEN e.email IS NOT NULL + AND e.email <> '' + AND (SELECT COUNT(*) FROM employee e2 WHERE e2.email = e.email) = 1 + AND NOT EXISTS (SELECT 1 FROM customer c2 WHERE c2.email = e.email) + AND NOT EXISTS (SELECT 1 FROM users u WHERE u.email = e.email) + THEN e.email + ELSE CONCAT('employee_', e.employeeId, '@petshop.local') + END AS email, CONCAT(e.firstName, ' ', e.lastName) AS fullName, CONCAT('300-000-', LPAD(e.employeeId, 4, '0')) AS phone, CASE