DOCS/journey/plans/250831_workspace_unification_plan.md

1.3 KiB

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 백업

sudo -u postgres pg_dump -t company -t workspaces main_db > /backup/workspace.sql

Phase 2: 데이터 통합

-- 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