Harden staff assignment
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
ALTER TABLE appointment
|
||||
ADD COLUMN employeeId BIGINT NULL;
|
||||
|
||||
UPDATE appointment a
|
||||
SET a.employeeId = (
|
||||
SELECT es.employeeId
|
||||
FROM employeeStore es
|
||||
JOIN employee e ON e.employeeId = es.employeeId
|
||||
JOIN users u ON u.id = e.user_id
|
||||
WHERE es.storeId = a.storeId
|
||||
AND e.isActive = TRUE
|
||||
AND u.role = 'STAFF'
|
||||
ORDER BY es.employeeId ASC
|
||||
LIMIT 1
|
||||
)
|
||||
WHERE a.employeeId IS NULL;
|
||||
|
||||
UPDATE appointment a
|
||||
SET a.employeeId = (
|
||||
SELECT e.employeeId
|
||||
FROM employee e
|
||||
JOIN users u ON u.id = e.user_id
|
||||
WHERE e.isActive = TRUE
|
||||
AND u.role = 'STAFF'
|
||||
ORDER BY e.employeeId ASC
|
||||
LIMIT 1
|
||||
)
|
||||
WHERE a.employeeId IS NULL;
|
||||
|
||||
ALTER TABLE appointment
|
||||
ADD CONSTRAINT fk_appointment_employee
|
||||
FOREIGN KEY (employeeId) REFERENCES employee(employeeId);
|
||||
|
||||
CREATE INDEX idx_appointment_employeeId ON appointment(employeeId);
|
||||
|
||||
ALTER TABLE appointment
|
||||
MODIFY employeeId BIGINT NOT NULL;
|
||||
|
||||
ALTER TABLE adoption
|
||||
ADD COLUMN employeeId BIGINT NULL;
|
||||
|
||||
UPDATE adoption a
|
||||
SET a.employeeId = (
|
||||
SELECT e.employeeId
|
||||
FROM employee e
|
||||
JOIN users u ON u.id = e.user_id
|
||||
WHERE e.isActive = TRUE
|
||||
AND u.role = 'STAFF'
|
||||
ORDER BY e.employeeId ASC
|
||||
LIMIT 1
|
||||
)
|
||||
WHERE a.employeeId IS NULL;
|
||||
|
||||
ALTER TABLE adoption
|
||||
ADD CONSTRAINT fk_adoption_employee
|
||||
FOREIGN KEY (employeeId) REFERENCES employee(employeeId);
|
||||
|
||||
CREATE INDEX idx_adoption_employeeId ON adoption(employeeId);
|
||||
|
||||
ALTER TABLE adoption
|
||||
MODIFY employeeId BIGINT NOT NULL;
|
||||
Reference in New Issue
Block a user