디비 테이블 수정
This commit is contained in:
parent
0bd884323f
commit
8f51391e62
@ -1,6 +1,7 @@
|
|||||||
# PostgreSQL 테이블 구조
|
# PostgreSQL 테이블 구조
|
||||||
|
|
||||||
## 작성일: 2025-08-20
|
## 작성일: 2025-08-20
|
||||||
|
## 최종 수정일: 2025-08-23
|
||||||
## 데이터베이스: main_db
|
## 데이터베이스: main_db
|
||||||
|
|
||||||
---
|
---
|
||||||
@ -112,12 +113,14 @@
|
|||||||
| 컬럼명 | 타입 | NULL | 기본값 | 설명 |
|
| 컬럼명 | 타입 | NULL | 기본값 | 설명 |
|
||||||
|--------|------|------|--------|------|
|
|--------|------|------|--------|------|
|
||||||
| id | SERIAL | NO | | 토큰 ID |
|
| 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 |
|
| 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 |
|
| oauth_config | JSONB | YES | | client_id, client_secret, token_uri |
|
||||||
| scopes | JSONB | YES | | Gmail API 권한 목록 |
|
| scopes | JSONB | YES | | Gmail API 권한 목록 |
|
||||||
| metadata | JSONB | YES | | email, imported_at 등 |
|
| metadata | JSONB | YES | | email, name, picture, verified_email 등 |
|
||||||
| expiry | TIMESTAMP | YES | | 토큰 만료 시각 |
|
| expiry | TIMESTAMP | YES | | 토큰 만료 시각 |
|
||||||
| is_equipped | BOOLEAN | YES | false | 장착 상태 |
|
| is_equipped | BOOLEAN | YES | false | 장착 상태 |
|
||||||
| equipped_to | VARCHAR(50) | YES | | 장착된 로빙 ID |
|
| equipped_to | VARCHAR(50) | YES | | 장착된 로빙 ID |
|
||||||
@ -233,7 +236,7 @@
|
|||||||
|
|
||||||
### 주요 인덱스
|
### 주요 인덱스
|
||||||
- users: email (UNIQUE), username (UNIQUE)
|
- 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
|
- slack_user_mapping: slack_user_id, user_id
|
||||||
- workspace_members: workspace_id, user_id
|
- workspace_members: workspace_id, user_id
|
||||||
- conversation_logs: user_id, robeing_id, created_at
|
- conversation_logs: user_id, robeing_id, created_at
|
||||||
@ -263,6 +266,15 @@
|
|||||||
- **robeing_id**: VARCHAR(50) 통일
|
- **robeing_id**: VARCHAR(50) 통일
|
||||||
- **timestamp**: TIMESTAMP WITHOUT TIME ZONE 사용
|
- **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로 되어있어 권한 조정 필요
|
1. 일부 테이블의 소유자가 postgres로 되어있어 권한 조정 필요
|
||||||
2. auth_db → main_db로 마이그레이션 완료
|
2. auth_db → main_db로 마이그레이션 완료
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user