-- Migration: partner_schedules 기간 기반 + 프로젝트 연결
-- 실행 순서: 1단계 → 2단계 → 3단계 순서대로 실행할 것

-- ===== 1단계: 컬럼 변경 + end_date/project_id 추가 =====
ALTER TABLE partner_schedules
  CHANGE COLUMN work_date start_date DATE NOT NULL,
  ADD COLUMN end_date DATE DEFAULT NULL AFTER start_date,
  ADD COLUMN project_id INT DEFAULT NULL AFTER company_id;

-- ===== 2단계: 기존 데이터 채우기 (단일 날짜 → 시작일=종료일) =====
UPDATE partner_schedules SET end_date = start_date WHERE end_date IS NULL;

-- ===== 3단계: NOT NULL로 변경 + 인덱스 재구성 =====
-- ※ 실행 전 SHOW INDEX FROM partner_schedules; 로 실제 인덱스명 확인 후 맞출 것
ALTER TABLE partner_schedules
  MODIFY end_date DATE NOT NULL,
  ADD INDEX idx_partner_sched_dates (start_date, end_date),
  ADD INDEX idx_partner_sched_company (company_id, start_date),
  ADD INDEX idx_partner_sched_project (project_id);

-- 기존 인덱스가 있다면 별도로 삭제:
-- ALTER TABLE partner_schedules DROP INDEX idx_work_date;
-- ALTER TABLE partner_schedules DROP INDEX idx_company_date;
