← 목록
엔터프라이즈 2026-06-15 4KB 읽기 4분

크라우니엔터프라이즈 P0-3 데이터 격리 8모듈 확산 (트랙 A)

개요

2026-06-15 트랙 A: 재무/인사/영업 3모듈에 적용 완료된 회사코드 데이터계층 격리를 잔여 8모듈로 확산.

작업 내용

완료된 8모듈 (각각 동일 패턴 적용)

모듈파일격리 대상 DB회사코드 추가 함수
공급망modules/공급망.한선_상품DB, _구매DB상품등록(), 구매요청()
대시보드modules/대시보드.한선(자체 DB 없음 — 집계 전용)해당 없음
워크플로우modules/워크플로우.한선_WF인스턴스DBWF시작()
프로젝트modules/프로젝트.한선_프로젝트DB프로젝트생성()
자산modules/자산.한선_자산DB자산등록()
생산modules/생산.한선_생산계획DB생산계획생성()
문서modules/문서.한선_문서DB문서등록()
조직libs/조직.한선_조직DB조직등록()

각 모듈 공통 변경 패턴

  1. 가져오기 "격리강화.한선" 추가
  2. 주 DB 테이블생성()에 "회사코드" 컬럼 추가
  3. 주 삽입 함수에 회사코드 인자 추가 + 맵넣어(행, "회사코드", 회사코드) 주입
  4. 모듈 말미에 테넌트 격리 래퍼 함수 3개 추가:
- 모듈_회사전체목록(회사코드) — 회사격리전체() 래퍼 - 모듈_회사필터목록(회사코드) — 회사격리조회() 래퍼 - 모듈_회사수(회사코드) — 격리행수() 래퍼

서버.한선 변경 (트랙 A 담당)

핸들러에 현재회사 주입 추가:

  • /api/scm/product → 상품등록(..., 현재회사)
  • /api/scm/purchase → 구매요청(..., 현재회사)
  • /api/project/create → 프로젝트생성(..., 현재회사)
  • /api/asset/create → 자산등록(..., 현재회사)
  • /api/document/create → 문서등록(..., 현재회사)
  • /api/workflow/start → WF시작(..., 현재회사)
  • /api/production/plan → 생산계획생성(..., 현재회사)
  • /api/org/register → 조직등록(..., 현재회사)
데모 초기화 데이터의 구버전 함수 호출도 회사코드 "" (전역) 추가.

테이블 컬럼 수 변화 (실행 로그 확인)

테이블이전이후
상품9개10개
구매10개11개
워크플로우실행10개11개
프로젝트11개12개
자산13개14개
생산계획8개9개
문서13개14개
조직10개11개

검증

  • ./hanseonc_high 서버.한선 > /tmp/ent.A.toau — COMPILE_OK
  • 서버 기동 시 모든 테이블 컬럼 수 정상 확인 (DB 로그)
  • 기존 셀코어 런타임 에러는 이 변경과 무관 (기존 테스트 섹션)

관련 파일

  • /Users/ef/crowny-enterprise/서버.한선 — 핸들러 8곳 updated
  • /Users/ef/crowny-enterprise/격리강화.한선 — 래퍼 원본 (기존)
  • /Users/ef/crowny-enterprise/modules/공급망.한선
  • /Users/ef/crowny-enterprise/modules/워크플로우.한선
  • /Users/ef/crowny-enterprise/modules/프로젝트.한선
  • /Users/ef/crowny-enterprise/modules/자산.한선
  • /Users/ef/crowny-enterprise/modules/생산.한선
  • /Users/ef/crowny-enterprise/modules/문서.한선
  • /Users/ef/crowny-enterprise/libs/조직.한선

잔여 이슈

  • 대시보드.한선: 자체 DB 없음, 집계 시 타 모듈의 격리 래퍼 사용 권장 (미적용)
  • 보안.한선: 트랙 C 담당 — 이 트랙에서 미터치
  • GET 핸들러 격리(조회 단계): 현재 전체 조회 반환 중, 격리 래퍼로 교체는 별도 트랙 작업
  • 데이터 복원(ERP테이블불러오기) 시 회사코드 컬럼 구버전 dat 호환성 확인 필요