DOCS/journey/plans/250831_workspace_unification_plan.md

60 lines
1.3 KiB
Markdown

# Workspace 테이블 통합 계획
**날짜**: 2025-08-31
**목표**: company + workspaces → workspaces로 통합
---
## 현재 문제
### 중복 데이터
- Company-X가 양쪽 테이블에 존재
- 컬럼명 불일치 (`container_port` vs `robeing_port`)
- FK 관계 불일치 (slack_workspaces → company, workspace_member → workspaces)
### 코드 오류
- `workspace.workspace` (잘못된 참조)
- `workspace.robeing_port` (컬럼명 불일치)
---
## 마이그레이션 계획
### Phase 1: DB 백업
```bash
sudo -u postgres pg_dump -t company -t workspaces main_db > /backup/workspace.sql
```
### Phase 2: 데이터 통합
```sql
-- 1. company → workspaces 이동
INSERT INTO workspaces (id, name, subdomain, robeing_port)
SELECT id, name, subdomain, container_port FROM company;
-- 2. slack_workspaces FK 수정
ALTER TABLE slack_workspace
ADD COLUMN workspace_id UUID,
DROP COLUMN company_id;
-- 3. company 테이블 삭제
DROP TABLE company CASCADE;
```
### Phase 3: 코드 수정
- `auth-server/app/models/workspace.py`: company_id → workspace_id
- `auth-server/app/api/slack_router.py`: workspace.workspace 제거
---
## 검증
1. 모든 workspace 조회 성공
2. slack_workspaces FK 정상
3. 기존 기능 정상 작동
---
## 참고
- `troubleshooting/250911_PostgreSQL_테이블명_단수형_통일.md`