-- 리비전 관리 개선: 자재 상태 추적
-- 리비전 업로드 시 삭제된 자재의 상태를 추적

-- materials 테이블에 revision_status 컬럼 추가
ALTER TABLE materials ADD COLUMN IF NOT EXISTS revision_status VARCHAR(20) DEFAULT 'active';
-- 가능한 값: 'active', 'inventory', 'deleted_not_purchased', 'changed'

-- revision_status 설명:
-- 'active': 정상 활성 자재 (기본값)
-- 'inventory': 재고품 (구매신청 후 리비전에서 삭제됨 - 연노랑색 표시)
-- 'deleted_not_purchased': 구매신청 전 삭제됨 (숨김 처리)
-- 'changed': 변경된 자재 (추가 구매 필요)

-- 인덱스 추가 (성능 최적화)
CREATE INDEX IF NOT EXISTS idx_materials_revision_status ON materials(revision_status);
CREATE INDEX IF NOT EXISTS idx_materials_drawing_name ON materials(drawing_name);
CREATE INDEX IF NOT EXISTS idx_materials_line_no ON materials(line_no);

COMMENT ON COLUMN materials.revision_status IS '리비전 자재 상태: active(활성), inventory(재고품), deleted_not_purchased(삭제됨), changed(변경됨)';

