-- Создание новой таблицы для конкретных рабочих дней гидов
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 'Дополнительные заметки о рабочем дне';