-- Создание новой таблицы для конкретных рабочих дней гидов CREATE TABLE IF NOT EXISTS guide_working_days ( id SERIAL PRIMARY KEY, guide_id INTEGER NOT NULL REFERENCES guides(id) ON DELETE CASCADE, work_date DATE NOT NULL, notes TEXT, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, -- Уникальный индекс для предотвращения дублирования UNIQUE(guide_id, work_date) ); -- Индексы для оптимизации запросов CREATE INDEX IF NOT EXISTS idx_guide_working_days_guide_id ON guide_working_days(guide_id); CREATE INDEX IF NOT EXISTS idx_guide_working_days_work_date ON guide_working_days(work_date); CREATE INDEX IF NOT EXISTS idx_guide_working_days_date_range ON guide_working_days(guide_id, work_date); -- Комментарии COMMENT ON TABLE guide_working_days IS 'Конкретные рабочие дни гидов'; COMMENT ON COLUMN guide_working_days.guide_id IS 'ID гида'; COMMENT ON COLUMN guide_working_days.work_date IS 'Дата рабочего дня'; COMMENT ON COLUMN guide_working_days.notes IS 'Дополнительные заметки о рабочем дне';