크라우니엔터프라이즈 P0-3 데이터 격리 8모듈 확산 (트랙 A)
개요
2026-06-15 트랙 A: 재무/인사/영업 3모듈에 적용 완료된 회사코드 데이터계층 격리를 잔여 8모듈로 확산.
작업 내용
완료된 8모듈 (각각 동일 패턴 적용)
| 모듈 | 파일 | 격리 대상 DB | 회사코드 추가 함수 |
|---|---|---|---|
| 공급망 | modules/공급망.한선 | _상품DB, _구매DB | 상품등록(), 구매요청() |
| 대시보드 | modules/대시보드.한선 | (자체 DB 없음 — 집계 전용) | 해당 없음 |
| 워크플로우 | modules/워크플로우.한선 | _WF인스턴스DB | WF시작() |
| 프로젝트 | modules/프로젝트.한선 | _프로젝트DB | 프로젝트생성() |
| 자산 | modules/자산.한선 | _자산DB | 자산등록() |
| 생산 | modules/생산.한선 | _생산계획DB | 생산계획생성() |
| 문서 | modules/문서.한선 | _문서DB | 문서등록() |
| 조직 | libs/조직.한선 | _조직DB | 조직등록() |
각 모듈 공통 변경 패턴
가져오기 "격리강화.한선"추가- 주 DB 테이블생성()에
"회사코드"컬럼 추가 - 주 삽입 함수에
회사코드인자 추가 +맵넣어(행, "회사코드", 회사코드)주입 - 모듈 말미에 테넌트 격리 래퍼 함수 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 호환성 확인 필요