Files
kent e217266376 docs: 5130 → SAM 품목 마이그레이션 문서 추가
- MASTER_PLAN.md: 마이그레이션 전체 계획
- PROGRESS.md: 진행 상황 및 최종 결과
- phase-1: 5130 소스 스키마 분석
- phase-2: SAM 타겟 스키마 분석
- phase-3: 필드 매핑 설계

마이그레이션 결과:
- 총 425건 품목 이관 완료 (models 18, parts 36, parts_sub 117, BDmodels 59, BOM 195)
- tenant_id: 287 (경동기업)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-21 13:49:28 +09:00

5.4 KiB

5130 → SAM 마이그레이션 진행 상황

마지막 업데이트: 2025-12-21 현재 Phase: Phase 5 완료


전체 진행률

Phase 상태 진행률
Phase 1: 소스 분석 (5130) 완료 100%
Phase 2: 타겟 분석 (SAM) 완료 100%
Phase 3: 매핑 설계 완료 100%
Phase 4: 마이그레이션 개발 완료 100%
Phase 5: 실행 및 검증 완료 100%

핵심 설정

항목
tenant_id 287 (경동기업)
제외 주일기업 (별도 테넌트로 추후 진행)

Phase 1: 소스 분석 (5130) 완료

핵심 발견 사항

테이블 레코드 역할
models 18 완제품 (KSS01, KSE01)
parts 36 부품
parts_sub 117 원자재
BDmodels 59 부품 (savejson에 BOM 포함)

산출물: phase-1-source-analysis/5130-item-schema.md


Phase 2: 타겟 분석 (SAM) 완료

핵심 발견 사항

  • items 통합 테이블 (item_type으로 구분)
  • item_id_mappings 레거시 ID 추적용
  • entity_relationships 관계 정의

산출물: phase-2-target-analysis/sam-item-schema.md


Phase 3: 매핑 설계 완료

체크리스트

  • 상세 필드 매핑 테이블 작성
  • 타입 변환 규칙 정의
  • tenant_id 할당 전략 (287 - 경동기업)
  • 코드 생성 규칙 정의
  • 관계 매핑 설계

테이블 매핑 요약

5130 SAM items item_type
models (18) items FG (완제품)
parts (36) items PT (부품)
parts_sub (117) items RM (원자재)
BDmodels (59) items PT (부품)
BDmodels.savejson (195) items RM (원자재)

관계 매핑

5130 관계 SAM
parts.model_id → models entity_relationships
parts_sub.part_id → parts entity_relationships
BDmodels → savejson items entity_relationships

산출물: phase-3-mapping/field-mapping.md


Phase 4: 마이그레이션 개발 완료

체크리스트

  • 마이그레이션 스크립트 설계
  • 마이그레이션 순서 확정
  • Laravel Command 작성 (php artisan migrate:5130-items)
  • 검증 쿼리 작성
  • 롤백 스크립트 작성

마이그레이션 순서 (실행 완료)

  1. models → items (FG)
  2. parts → items (PT)
  3. parts_sub → items (RM)
  4. BDmodels → items (PT)
  5. BDmodels.savejson → items (RM) + entity_relationships
  6. models↔parts 관계 → entity_relationships
  7. parts↔parts_sub 관계 → entity_relationships
  8. item_id_mappings 기록

산출물: api/app/Console/Commands/Migrate5130Items.php


Phase 5: 실행 및 검증 완료

체크리스트

  • 테스트 환경 마이그레이션
  • 데이터 정합성 검증
  • 오류 수정 및 재시도
  • 최종 마이그레이션
  • 완료 리포트 작성

최종 마이그레이션 결과

items 테이블 (tenant_id=287)

item_type 건수 설명
CS 5 기존 데이터
FG 20 완제품 (models 18 + 기존 2)
PT 100 부품 (parts 36 + BDmodels 59 + 기존 5)
RM 314 원자재 (parts_sub 117 + BDmodels_bom 195 + 기존 2)
SM 2 기존 데이터
Total 441

5130 출처 items 상세

source_table 건수
models 18
parts 36
parts_sub 117
BDmodels 59
BDmodels_bom 195
Total 425

item_id_mappings

source_table 건수
models 18
parts 36
parts_sub 117
BDmodels 59
materials 354 (기존)
products 6 (기존)
Total 590

entity_relationships (tenant_id=287)

관계 유형 건수
models ↔ parts 36
parts ↔ parts_sub 117
BDmodels ↔ BDmodels_bom 195
기타 91
Total 439

명령어 레퍼런스

# 전체 마이그레이션 (dry-run)
php artisan migrate:5130-items --dry-run

# 전체 마이그레이션 (실제 실행)
php artisan migrate:5130-items --tenant_id=287

# 특정 단계만 실행
php artisan migrate:5130-items --step=models
php artisan migrate:5130-items --step=parts
php artisan migrate:5130-items --step=parts_sub
php artisan migrate:5130-items --step=bdmodels
php artisan migrate:5130-items --step=relations

# 롤백
php artisan migrate:5130-items --rollback

작업 로그

날짜 작업 내용 결과
2025-12-21 마스터 플랜 문서 작성 완료
2025-12-21 Phase 1: 5130 DB 스키마 분석 완료
2025-12-21 Phase 2: SAM DB 스키마 분석 완료
2025-12-21 Phase 3: 필드 매핑 설계 (tenant_id=287) 완료
2025-12-21 Phase 4: Migrate5130Items Command 개발 완료
2025-12-21 Phase 5: 마이그레이션 실행 및 검증 완료

다음 단계 (선택적)

  1. 주일기업 마이그레이션: 별도 테넌트로 동일 프로세스 적용
  2. 데이터 검증 UI: SAM MNG에서 마이그레이션된 품목 조회/수정 기능
  3. BOM 관계 활용: 마이그레이션된 entity_relationships를 활용한 BOM 조회 API