diff --git a/ideas/auth_system_analysis.md b/ideas/auth_system_analysis.md index 6d592a4..24a93d3 100644 --- a/ideas/auth_system_analysis.md +++ b/ideas/auth_system_analysis.md @@ -294,6 +294,35 @@ email ↔ slack_id ↔ username - 결과: 동일 username으로 통합 메모리 ``` +**관련 문서**: [Auth DB 테이블 구조 단순화 방안](/plans/250812_auth_db_테이블_단순화_방안.md) + +##### 현재 테이블 구조 (5개) +- **users**: 사용자 기본 정보 (email, username) +- **workspaces**: 워크스페이스 정보 (로빙 할당) +- **workspace_members**: 사용자-워크스페이스 연결 +- **slack_workspaces**: Slack 워크스페이스 정보 +- **slack_user_mapping**: Slack ID ↔ User ID 매핑 (3개만 존재) + +##### 제안된 통합 구조 (4개 테이블로 단순화) +```sql +-- 1. users: 기존 유지 +-- 2. slack_workspaces: 단순화 +-- 3. user_robings: 사용자-로빙 직접 연결 +CREATE TABLE user_robings ( + user_id UUID REFERENCES users(id), + robing_id VARCHAR(100), -- rb10508_micro 등 + is_primary BOOLEAN +); + +-- 4. slack_users: 통합 매핑 테이블 (핵심!) +CREATE TABLE slack_users ( + slack_user_id VARCHAR(100), -- U0925SXQFDK + slack_team_id VARCHAR(100), + user_id UUID REFERENCES users(id), + robing_id VARCHAR(100) -- Slack별 로빙 지정 가능 +); +``` + ### 개별 수정 사항 #### 1. ~~Frontend (robing-api.ts)~~ ✅ 완료