docs: 일기 시스템 테이블 정보 추가

- robeing_diary 테이블 스키마 추가
- activity_log 테이블 스키마 추가
- 인덱스 및 제약조건 명시
This commit is contained in:
Claude-51124 2025-12-09 16:43:51 +09:00
parent b846fb9980
commit ccc4d13a90

View File

@ -222,6 +222,46 @@ SemanticIntentClassifier는 위 테이블에서 활성화된 의도를 불러오
**인덱스**:
- `rb_news_pkey`: PRIMARY KEY (id)
### robeing_diary
- **용도**: 로빙 일기(성장 일지) 저장
- **Primary Key**: id (INTEGER)
| 컬럼명 | 타입 | NULL | 기본값 | 설명 |
|--------|------|------|--------|------|
| id | INTEGER | NO | | PK, SERIAL |
| date | DATE | NO | | 일기 날짜 |
| robeing_id | VARCHAR(50) | NO | | 로빙 식별자 |
| summary | TEXT | YES | | 일기 요약 |
| dominant_emotion | VARCHAR(50) | YES | | 지배적 감정 |
| stats | JSONB | YES | '{}' | 통계 데이터 |
| full_content | TEXT | NO | | 전체 일기 내용 (마크다운) |
| created_at | TIMESTAMPTZ | YES | NOW() | 생성 시간 |
**인덱스**:
- `idx_robeing_diary_date`: (date DESC)
- `idx_robeing_diary_robeing`: (robeing_id)
- UNIQUE: (date, robeing_id)
### activity_log
- **용도**: 로빙 활동 로그 (스킬 실행, 스케줄러 작업 등)
- **Primary Key**: id (INTEGER)
| 컬럼명 | 타입 | NULL | 기본값 | 설명 |
|--------|------|------|--------|------|
| id | INTEGER | NO | | PK, SERIAL |
| robeing_id | VARCHAR(50) | NO | | 로빙 식별자 |
| activity_type | VARCHAR(50) | NO | | 'skill', 'scheduler', 'internal' |
| skill_name | VARCHAR(100) | YES | | 스킬명 (activity_type='skill'일 때) |
| status | VARCHAR(20) | NO | | 'success', 'error', 'partial' |
| result_summary | TEXT | YES | | 결과 요약 |
| error_message | TEXT | YES | | 에러 메시지 (status='error'일 때) |
| meta | JSONB | YES | '{}' | 메타데이터 |
| created_at | TIMESTAMPTZ | YES | NOW() | 생성 시간 |
**인덱스**:
- `idx_activity_log_robeing_date`: (robeing_id, created_at DESC)
- `idx_activity_log_type`: (activity_type)
- `rb_news_url_key`: UNIQUE (url)
- `idx_rb_news_url`: btree (url)
- `idx_rb_news_slack_message_ts`: btree (slack_message_ts)