-- 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;