디비 테이블 수정

This commit is contained in:
0914eagle 2025-08-23 13:04:17 +09:00
parent 0bd884323f
commit 8f51391e62

View File

@ -1,6 +1,7 @@
# PostgreSQL 테이블 구조
## 작성일: 2025-08-20
## 최종 수정일: 2025-08-23
## 데이터베이스: main_db
---
@ -112,12 +113,14 @@
| 컬럼명 | 타입 | NULL | 기본값 | 설명 |
|--------|------|------|--------|------|
| id | SERIAL | NO | | 토큰 ID |
| user_id | UUID | NO | | 사용자 ID (FK → users) |
| user_id | UUID | NO | | 사용자 ID (FK → users) (UNIQUE) |
| username | VARCHAR(50) | YES | | 사용자명 (users.username과 동일) |
| slack_id | VARCHAR(50) | YES | | Slack User ID (U로 시작) |
| robeing_id | VARCHAR(50) | YES | | 로빙 ID |
| token_data | JSONB | NO | | access_token, refresh_token |
| token_data | JSONB | NO | | access_token, refresh_token, token_type 등 |
| oauth_config | JSONB | YES | | client_id, client_secret, token_uri |
| scopes | JSONB | YES | | Gmail API 권한 목록 |
| metadata | JSONB | YES | | email, imported_at 등 |
| metadata | JSONB | YES | | email, name, picture, verified_email 등 |
| expiry | TIMESTAMP | YES | | 토큰 만료 시각 |
| is_equipped | BOOLEAN | YES | false | 장착 상태 |
| equipped_to | VARCHAR(50) | YES | | 장착된 로빙 ID |
@ -233,7 +236,7 @@
### 주요 인덱스
- users: email (UNIQUE), username (UNIQUE)
- gmail_tokens: user_id, robeing_id, oauth_config (GIN), token_data (GIN)
- gmail_tokens: user_id (UNIQUE), username, slack_id, robeing_id, oauth_config (GIN), token_data (GIN)
- slack_user_mapping: slack_user_id, user_id
- workspace_members: workspace_id, user_id
- conversation_logs: user_id, robeing_id, created_at
@ -263,6 +266,15 @@
- **robeing_id**: VARCHAR(50) 통일
- **timestamp**: TIMESTAMP WITHOUT TIME ZONE 사용
### 최근 변경사항 (2025-08-23)
1. gmail_tokens 테이블 구조 변경:
- user_id: VARCHAR(100) → UUID로 변경 (users.id 외래키)
- username: VARCHAR(50) 컬럼 추가 (빠른 조회용)
- slack_id: VARCHAR(50) 컬럼 추가 (Slack 연동용)
2. 외래키 관계 정립:
- gmail_tokens.user_id → users.id
- 데이터 무결성 보장
### 개선 필요 사항
1. 일부 테이블의 소유자가 postgres로 되어있어 권한 조정 필요
2. auth_db → main_db로 마이그레이션 완료