Add naverworks_token table structure to tables.md

- 18개 컬럼 정의 (id, user_id, tokens, metadata 등)
- 인덱스 3개 (PK, user_id, expires_at)
- Foreign key: user_id → user(id) CASCADE 삭제
- 트리거: updated_at 자동 갱신
- 사용자당 하나의 토큰만 허용 (UNIQUE constraint)

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
happybell80 2025-09-18 00:51:20 +09:00
parent 6f7cc5a3c2
commit bb6b0d1934

View File

@ -235,6 +235,41 @@
---
### naverworks_token
- **용도**: NAVER WORKS OAuth 토큰 및 Passport 정보
- **Primary Key**: id (UUID)
- **Unique**: user_id (사용자당 하나의 토큰만)
- **Foreign Key**: user_id → user(id) ON DELETE CASCADE
- **레코드**: 1개 (2025-09-18 기준)
| 컬럼명 | 타입 | NULL | 기본값 | 설명 |
|--------|------|------|--------|------|
| id | UUID | NO | gen_random_uuid() | 토큰 ID |
| user_id | UUID | NO | | 사용자 ID (FK → user) |
| access_token | TEXT | YES | | 액세스 토큰 (개별 저장용) |
| refresh_token | TEXT | YES | | 리프레시 토큰 (개별 저장용) |
| token_type | VARCHAR(50) | YES | 'Bearer' | 토큰 타입 |
| expires_at | TIMESTAMP | YES | | 토큰 만료 시각 |
| scopes | JSONB | YES | | OAuth 스코프 목록 |
| domain_id | VARCHAR(255) | YES | | NAVER WORKS 도메인 ID |
| service_account | VARCHAR(255) | YES | | 서비스 계정 |
| metadata | JSONB | YES | | 사용자 메타데이터 |
| created_at | TIMESTAMPTZ | YES | CURRENT_TIMESTAMP | 생성 시각 |
| updated_at | TIMESTAMPTZ | YES | CURRENT_TIMESTAMP | 수정 시각 |
| username | VARCHAR(255) | YES | | 사용자명 |
| account_id | VARCHAR(255) | YES | | NAVER WORKS 계정 ID |
| token_data | JSONB | YES | | 토큰 데이터 (통합 저장용) |
| oauth_config | JSONB | YES | | OAuth 설정 정보 |
| expiry | TIMESTAMP | YES | | 토큰 만료 시각 (passport용) |
| is_equipped | BOOLEAN | YES | false | Passport 장착 여부 |
**인덱스**:
- idx_naverworks_token_user_id (user_id)
- idx_naverworks_token_expires_at (expires_at)
**트리거**:
- update_naverworks_token_updated_at: updated_at 자동 갱신
## 6. 기타 정보
### Custom Types