# 변경 내용 요약 **날짜:** 2026-01-28 **작업자:** Claude Code **작업명:** 문서 관리 시스템 Phase 1.1 - 마이그레이션 파일 생성 ## 📋 변경 개요 문서 관리 시스템의 데이터베이스 스키마를 구현했습니다. - 4개 테이블 신규 생성 (documents, document_approvals, document_data, document_attachments) - SAM API 개발 규칙 준수 (tenant_id, 감사 컬럼, softDeletes, comment) ## 📁 추가된 파일 | 파일 | 설명 | |------|------| | `api/database/migrations/2026_01_28_200000_create_documents_table.php` | 문서 관리 테이블 마이그레이션 | ## 🔧 상세 변경 사항 ### 1. documents 테이블 (16 컬럼) 실제 문서 정보를 저장하는 메인 테이블 | 컬럼 | 타입 | 설명 | |------|------|------| | id | bigint | PK | | tenant_id | bigint | 테넌트 ID (FK) | | template_id | bigint | 템플릿 ID (FK → document_templates) | | document_no | varchar(50) | 문서번호 | | title | varchar(255) | 문서 제목 | | status | enum | DRAFT/PENDING/APPROVED/REJECTED/CANCELLED | | linkable_type | varchar(100) | 연결 모델 타입 (다형성) | | linkable_id | bigint | 연결 모델 ID | | submitted_at | timestamp | 결재 요청일 | | completed_at | timestamp | 결재 완료일 | | created_by | bigint | 생성자 ID | | updated_by | bigint | 수정자 ID | | deleted_by | bigint | 삭제자 ID | | created_at | timestamp | 생성일 | | updated_at | timestamp | 수정일 | | deleted_at | timestamp | 삭제일 (Soft Delete) | ### 2. document_approvals 테이블 (12 컬럼) 문서 결재 정보 저장 | 컬럼 | 타입 | 설명 | |------|------|------| | id | bigint | PK | | document_id | bigint | 문서 ID (FK) | | user_id | bigint | 결재자 ID (FK) | | step | tinyint | 결재 순서 | | role | varchar(50) | 역할 (작성/검토/승인) | | status | enum | PENDING/APPROVED/REJECTED | | comment | text | 결재 의견 | | acted_at | timestamp | 결재 처리일 | | created_by | bigint | 생성자 ID | | updated_by | bigint | 수정자 ID | | created_at | timestamp | 생성일 | | updated_at | timestamp | 수정일 | ### 3. document_data 테이블 (9 컬럼) 문서 데이터 저장 (EAV 패턴) | 컬럼 | 타입 | 설명 | |------|------|------| | id | bigint | PK | | document_id | bigint | 문서 ID (FK) | | section_id | bigint | 섹션 ID | | column_id | bigint | 컬럼 ID | | row_index | smallint | 행 인덱스 | | field_key | varchar(100) | 필드 키 | | field_value | text | 필드 값 | | created_at | timestamp | 생성일 | | updated_at | timestamp | 수정일 | ### 4. document_attachments 테이블 (8 컬럼) 문서 첨부파일 연결 | 컬럼 | 타입 | 설명 | |------|------|------| | id | bigint | PK | | document_id | bigint | 문서 ID (FK) | | file_id | bigint | 파일 ID (FK → files) | | attachment_type | varchar(50) | 첨부 유형 | | description | varchar(255) | 설명 | | created_by | bigint | 생성자 ID | | created_at | timestamp | 생성일 | | updated_at | timestamp | 수정일 | ## ✅ 검증 결과 | 시나리오 | 예상 결과 | 실제 결과 | 상태 | |----------|----------|----------|:----:| | 마이그레이션 실행 | 4개 테이블 생성 | 4개 테이블 생성 | ✅ | | PHP 문법 검사 | 오류 없음 | 오류 없음 | ✅ | | Pint 포맷팅 | 통과 | 1개 스타일 수정 후 통과 | ✅ | | SAM 규칙 준수 | 모든 규칙 적용 | 모든 규칙 적용 | ✅ | ## 🔗 관련 문서 - 계획 문서: `docs/plans/document-management-system-plan.md` - 다음 작업: Phase 1.2 - 모델 생성 (Document, DocumentApproval, DocumentData, DocumentAttachment) ## ⚠️ 배포 시 주의사항 특이사항 없음 (마이그레이션은 이미 실행됨)