Files
tk-factory-services/scripts/migration-schedule-daterange.sql
Hyungi Ahn b5b0fa1728 feat: 작업일정 기간 기반 + 프로젝트 연결
- partner_schedules: work_date → start_date/end_date 기간 기반으로 변경
- project_id 컬럼 추가 (projects 테이블 연결, 선택사항)
- 프로젝트 조회 API 추가 (GET /projects/active)
- 일정 조회 시 기간 겹침 조건으로 필터링
- 체크인 시 기간 내 검증 추가
- 프론트엔드: 시작일/종료일 입력 + 프로젝트 선택 드롭다운
- 마이그레이션 SQL 포함 (scripts/migration-schedule-daterange.sql)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 08:18:53 +09:00

24 lines
1.1 KiB
SQL

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