From 1a34f49680bd0cc11f13b10501cafd17578ae521 Mon Sep 17 00:00:00 2001 From: happybell80 Date: Mon, 15 Sep 2025 22:08:55 +0900 Subject: [PATCH] =?UTF-8?q?docs:=20team=5Fdocument=20=ED=85=8C=EC=9D=B4?= =?UTF-8?q?=EB=B8=94=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - RAG 파일 시스템용 team_document 테이블 스키마 추가 - 팀별 문서 저장/관리 구조 - ChromaDB 연동을 위한 chunk_count, text_content 컬럼 - 파일 중복 방지를 위한 file_hash 인덱스 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- 300_architecture/database/tables.md | 31 +++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/300_architecture/database/tables.md b/300_architecture/database/tables.md index 2818bf4..7696178 100644 --- a/300_architecture/database/tables.md +++ b/300_architecture/database/tables.md @@ -1,7 +1,7 @@ # PostgreSQL 테이블 구조 ## 작성일: 2025-08-20 -## 최종 수정일: 2025-09-11 +## 최종 수정일: 2025-09-15 ## 데이터베이스: main_db --- @@ -208,6 +208,32 @@ | created_at | TIMESTAMPTZ | YES | CURRENT_TIMESTAMP | 생성 시각 | | updated_at | TIMESTAMPTZ | YES | CURRENT_TIMESTAMP | 수정 시각 | +### team_document +- **용도**: 팀 문서 RAG 시스템 +- **Primary Key**: id (UUID) +- **레코드**: 0개 +- **생성일**: 2025-09-15 + +| 컬럼명 | 타입 | NULL | 기본값 | 설명 | +|--------|------|------|--------|------| +| id | UUID | NO | gen_random_uuid() | 문서 ID | +| team_id | UUID | NO | | 팀 ID (FK → team) | +| uploaded_by | UUID | YES | | 업로드 사용자 (FK → user) | +| filename | VARCHAR(255) | NO | | 파일명 | +| file_hash | VARCHAR(64) | NO | | SHA256 해시 | +| file_size | BIGINT | YES | | 파일 크기 (bytes) | +| mime_type | VARCHAR(100) | YES | | MIME 타입 | +| storage_path | TEXT | NO | | 저장 경로 (/mnt/hdd/uploads/{team_id}/) | +| text_content | TEXT | YES | | 추출된 텍스트 | +| chunk_count | INTEGER | YES | 0 | ChromaDB 청크 수 | +| processing_status | VARCHAR(20) | YES | 'pending' | 처리 상태 (pending/completed/failed) | +| metadata | JSONB | YES | '{}' | 메타데이터 (tags, summary 등) | +| created_at | TIMESTAMPTZ | YES | CURRENT_TIMESTAMP | 생성 시각 | +| updated_at | TIMESTAMPTZ | YES | CURRENT_TIMESTAMP | 수정 시각 | + +**인덱스**: +- `idx_team_doc_hash`: UNIQUE (team_id, file_hash) - 팀별 파일 중복 방지 + --- ## 6. 기타 정보 @@ -220,7 +246,6 @@ ### 외래키 관계 - | 테이블 | 컬럼 | 참조 테이블 | 참조 컬럼 | |--------|------|------------|----------| | team | company_id | company | id | @@ -233,6 +258,8 @@ | gmail_token | user_id | user | id | | news | user_id | user | id | | user_preference | user_id | user | id | +| team_document | team_id | team | id | +| team_document | uploaded_by | user | id | ---