Initial commit MKD fixes
This commit is contained in:
18
backend/migrations/create_employee_districts.sql
Executable file
18
backend/migrations/create_employee_districts.sql
Executable file
@@ -0,0 +1,18 @@
|
||||
-- Связь сотрудник — участки (многие ко многим): один сотрудник может быть назначен на несколько участков
|
||||
CREATE TABLE IF NOT EXISTS employee_districts (
|
||||
employee_id VARCHAR(50) NOT NULL REFERENCES employees(id) ON DELETE CASCADE,
|
||||
district_id VARCHAR(50) NOT NULL REFERENCES districts(id) ON DELETE CASCADE,
|
||||
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
||||
PRIMARY KEY (employee_id, district_id)
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_employee_districts_employee ON employee_districts(employee_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_employee_districts_district ON employee_districts(district_id);
|
||||
COMMENT ON TABLE employee_districts IS 'Назначения сотрудников на участки; один сотрудник может быть на нескольких участках';
|
||||
|
||||
-- Перенос существующих назначений из employees.assigned_district_id
|
||||
INSERT INTO employee_districts (employee_id, district_id)
|
||||
SELECT id, assigned_district_id
|
||||
FROM employees
|
||||
WHERE assigned_district_id IS NOT NULL AND assigned_district_id <> ''
|
||||
ON CONFLICT (employee_id, district_id) DO NOTHING;
|
||||
Reference in New Issue
Block a user