Files
sam-docs/dev/changes/20260128_document_management_phase1_1.md
권혁성 db63fcff85 refactor: [docs] 팀별 폴더 구조 재편 (공유/개발/프론트/기획)
- 개발팀 전용 폴더 dev/ 생성 (standards, guides, quickstart, changes, deploys, data, history, dev_plans 이동)
- 프론트엔드 전용 폴더 frontend/ 생성 (api/ → frontend/api-specs/)
- 기획팀 폴더 requests/ 생성
- plans/ → dev/dev_plans/ 이름 변경
- README.md 신규 (사람용 안내), INDEX.md 재작성 (Claude Code용)
- resources.md 신규 (노션 링크용, assets/brochure 이관 예정)
- CURRENT_WORKS.md 삭제, TODO.md → dev/ 이동
- 전체 참조 경로 업데이트

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 16:46:03 +09:00

3.7 KiB

변경 내용 요약

날짜: 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/dev_plans/document-management-system-plan.md
  • 다음 작업: Phase 1.2 - 모델 생성 (Document, DocumentApproval, DocumentData, DocumentAttachment)

⚠️ 배포 시 주의사항

특이사항 없음 (마이그레이션은 이미 실행됨)