Merge migration fixes
This commit is contained in:
@@ -0,0 +1,91 @@
|
|||||||
|
INSERT INTO users (username, password, email, fullName, phone, role, active, tokenVersion)
|
||||||
|
SELECT
|
||||||
|
CONCAT('customer_', c.customerId) AS username,
|
||||||
|
'$2a$10$mE0D/HrnCuqFeEqMy0NJwuy2jkoRYjQ7GrKcc/7QQ0r2AqnZTvyGq' AS password,
|
||||||
|
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,
|
||||||
|
FALSE AS active,
|
||||||
|
0 AS tokenVersion
|
||||||
|
FROM customer c
|
||||||
|
WHERE c.user_id IS NULL
|
||||||
|
AND NOT EXISTS (
|
||||||
|
SELECT 1
|
||||||
|
FROM users u
|
||||||
|
WHERE u.username = CONCAT('customer_', c.customerId)
|
||||||
|
);
|
||||||
|
|
||||||
|
INSERT INTO users (username, password, email, fullName, phone, role, active, tokenVersion)
|
||||||
|
SELECT
|
||||||
|
CONCAT('employee_', e.employeeId) AS username,
|
||||||
|
'$2a$10$mE0D/HrnCuqFeEqMy0NJwuy2jkoRYjQ7GrKcc/7QQ0r2AqnZTvyGq' AS password,
|
||||||
|
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
|
||||||
|
WHEN UPPER(e.role) = 'MANAGER' THEN 'ADMIN'
|
||||||
|
ELSE 'STAFF'
|
||||||
|
END AS role,
|
||||||
|
FALSE AS active,
|
||||||
|
0 AS tokenVersion
|
||||||
|
FROM employee e
|
||||||
|
WHERE e.user_id IS NULL
|
||||||
|
AND NOT EXISTS (
|
||||||
|
SELECT 1
|
||||||
|
FROM users u
|
||||||
|
WHERE u.username = CONCAT('employee_', e.employeeId)
|
||||||
|
);
|
||||||
|
|
||||||
|
UPDATE customer c
|
||||||
|
JOIN users u ON u.username = CONCAT('customer_', c.customerId)
|
||||||
|
AND u.role = 'CUSTOMER'
|
||||||
|
SET c.user_id = u.id
|
||||||
|
WHERE c.user_id IS NULL;
|
||||||
|
|
||||||
|
UPDATE employee e
|
||||||
|
JOIN users u ON u.username = CONCAT('employee_', e.employeeId)
|
||||||
|
AND u.role IN ('STAFF', 'ADMIN')
|
||||||
|
SET e.user_id = u.id
|
||||||
|
WHERE e.user_id IS NULL;
|
||||||
|
|
||||||
|
UPDATE users
|
||||||
|
SET
|
||||||
|
fullName = CASE
|
||||||
|
WHEN fullName IS NULL OR fullName = '' THEN username
|
||||||
|
ELSE fullName
|
||||||
|
END,
|
||||||
|
email = CASE
|
||||||
|
WHEN email IS NULL OR email = '' THEN CONCAT(username, '@petshop.local')
|
||||||
|
ELSE email
|
||||||
|
END,
|
||||||
|
phone = CASE
|
||||||
|
WHEN phone IS NULL OR phone = '' THEN CONCAT('000-000-', LPAD(id, 4, '0'))
|
||||||
|
ELSE phone
|
||||||
|
END,
|
||||||
|
active = COALESCE(active, TRUE),
|
||||||
|
tokenVersion = COALESCE(tokenVersion, 0)
|
||||||
|
WHERE fullName IS NULL
|
||||||
|
OR fullName = ''
|
||||||
|
OR email IS NULL
|
||||||
|
OR email = ''
|
||||||
|
OR phone IS NULL
|
||||||
|
OR phone = ''
|
||||||
|
OR active IS NULL
|
||||||
|
OR tokenVersion IS NULL;
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
UPDATE sale
|
||||||
|
SET paymentMethod = 'Card'
|
||||||
|
WHERE LOWER(paymentMethod) = 'debit';
|
||||||
Reference in New Issue
Block a user