Files
MH-DashBoard-organization/docs/architecture/DB_TABLE_CATALOG.md

5.7 KiB

DB Table Catalog

Purpose

이 문서는 8081 / work-8081 기준 현재 PostgreSQL 테이블 26개를 역할별로 분류한 운영 기준 문서다.

핵심 원칙:

  • 테이블 수가 많다고 바로 줄이지 않는다.
  • 먼저 유지 / 주의 / 원본·추적 / 정리 후보로 나눈다.
  • 실제 운영 화면과 저장 흐름에 필요한 것은 유지한다.
  • 의미가 불분명하거나 중복 역할만 하는 것은 후보로 남겨두고, 실제 삭제는 별도 검증 후 진행한다.

Summary

  • 전체 테이블: 26
  • 유지: 16
  • 주의: 6
  • 원본·추적: 4
  • 정리 후보: 0

1. 유지

현재 운영 화면, 인증, 이력, 적재 흐름에서 계속 필요하다.

  • auth.users
  • auth.sessions
  • auth.login_audit_logs
  • public.members
  • public.member_versions
  • public.history_revisions
  • public.seat_maps
  • public.seat_slots
  • public.seat_positions
  • public.seat_assignment_versions
  • public.integration_import_batches
  • public.integration_projects
  • public.integration_work_logs
  • public.integration_work_log_segments
  • public.integration_vouchers
  • public.integration_binary_sources

설명:

  • members, seat_*는 조직현황/자리배치도 핵심
  • member_versions, seat_assignment_versions, history_revisions는 as-of 조회와 이력 비교 핵심
  • integration_* 표준화 결과는 프로젝트별 분석 / 팀·개인별 분석 핵심
  • integration_binary_sources는 사업관리대장 같은 바이너리 원본 보관용
  • auth.*는 로그인과 권한 운영 핵심

2. 주의

현재도 역할은 있지만, 실제 운영에서 얼마나 계속 필요한지 주기적으로 점검해야 한다.

  • public.member_overrides
  • public.member_retirements
  • public.member_aliases
  • public.integration_project_aliases
  • public.integration_project_category_mappings
  • public.integration_project_pm_assignments

설명:

  • 이 테이블들은 핵심 마스터라기보다 “보정/매핑/예외 처리” 성격이 강하다.
  • 운영상 필요할 수 있지만, 남용되면 기준 데이터가 흐려진다.
  • 사용 규칙과 관리 책임을 분명히 해야 한다.

3. 원본·추적

원본 적재와 검증을 위해 필요하다. 직접 서비스 화면의 주 출력원이 아니라, 적재 근거와 추적용이다.

  • public.integration_raw_organization_rows
  • public.integration_raw_mh_rows
  • public.integration_raw_mh_pm_rows
  • public.integration_raw_payment_rows

설명:

  • 원본 파일을 바로 표준화 테이블에만 넣으면, 나중에 적재 오류를 추적하기 어렵다.
  • raw row 보관은 import 검증과 재현성 측면에서 의미가 있다.
  • 단, 장기 보관 정책과 용량 관리는 별도 필요하다.

4. 정리 후보

현재 기준 정리 후보 테이블은 없다.

Domain Map

인증

  • auth.users
  • auth.sessions
  • auth.login_audit_logs

조직 / 구성원

  • public.members
  • public.member_overrides
  • public.member_retirements
  • public.member_aliases

자리배치도

  • public.seat_maps
  • public.seat_slots
  • public.seat_positions

이력

  • public.history_revisions
  • public.member_versions
  • public.seat_assignment_versions

integration 표준화

  • public.integration_import_batches
  • public.integration_projects
  • public.integration_project_aliases
  • public.integration_project_category_mappings
  • public.integration_project_pm_assignments
  • public.integration_work_logs
  • public.integration_work_log_segments
  • public.integration_vouchers
  • public.integration_binary_sources

integration raw

  • public.integration_raw_organization_rows
  • public.integration_raw_mh_rows
  • public.integration_raw_mh_pm_rows
  • public.integration_raw_payment_rows

Product View

운영자가 DB를 볼 때는 물리 테이블 수보다 아래 5개 묶음으로 보는 편이 더 이해하기 쉽다.

탭 데이터

  • public.members
  • public.seat_maps
  • public.seat_slots
  • public.seat_positions
  • public.integration_projects
  • public.integration_work_logs
  • public.integration_work_log_segments
  • public.integration_vouchers
  • public.integration_binary_sources

로그인·권한

  • auth.users
  • auth.sessions
  • auth.login_audit_logs

히스토리

  • public.history_revisions
  • public.member_versions
  • public.seat_assignment_versions

로우데이터·적재

  • public.integration_import_batches
  • public.integration_raw_organization_rows
  • public.integration_raw_mh_rows
  • public.integration_raw_mh_pm_rows
  • public.integration_raw_payment_rows

보정·보조

  • public.member_overrides
  • public.member_retirements
  • public.member_aliases
  • public.integration_project_aliases
  • public.integration_project_category_mappings
  • public.integration_project_pm_assignments

Operational Guidance

바로 줄이지 말아야 하는 것

  • integration_raw_*
  • member_versions
  • seat_assignment_versions
  • auth.*

이건 지금 구조상 “많아 보여도 필요한 층”이다.

먼저 점검할 것

  • member_overrides, member_aliases, project_aliases의 실제 운영 빈도
  • seat_maps의 과거 실험 도면 정리 기준

정리 원칙

  1. 테이블을 없애기 전에 실제 읽는 API/화면/스크립트를 확인한다.
  2. 원본 추적용 테이블은 운영 출력용 테이블과 구분해서 판단한다.
  3. 테이블 삭제보다 먼저 “사용 안 함” 상태를 문서화한다.
  4. 삭제는 백업과 검증 절차가 준비된 뒤에만 한다.
  1. seat_maps 과거 DXF 시도본 정리 기준 수립
  2. 주의 그룹 테이블의 입력/수정 주체 명확화
  3. DB 상태 화면에서 이 분류를 기준으로 계속 설명 유지