Files
sam-docs/dev/changes/20260128_kd_items_migration_phase1.md
권혁성 db63fcff85 refactor: [docs] 팀별 폴더 구조 재편 (공유/개발/프론트/기획)
- 개발팀 전용 폴더 dev/ 생성 (standards, guides, quickstart, changes, deploys, data, history, dev_plans 이동)
- 프론트엔드 전용 폴더 frontend/ 생성 (api/ → frontend/api-specs/)
- 기획팀 폴더 requests/ 생성
- plans/ → dev/dev_plans/ 이름 변경
- README.md 신규 (사람용 안내), INDEX.md 재작성 (Claude Code용)
- resources.md 신규 (노션 링크용, assets/brochure 이관 예정)
- CURRENT_WORKS.md 삭제, TODO.md → dev/ 이동
- 전체 참조 경로 업데이트

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 16:46:03 +09:00

2.3 KiB

변경 내용 요약 - 경동기업 품목/단가 마이그레이션 Phase 1.0

날짜: 2026-01-28 작업자: Claude Code 관련 문서: docs/dev_plans/kd-items-migration-plan.md

📋 변경 개요

경동기업(tenant_id=287) 레거시 DB(chandj)에서 SAM DB(samdb)로 품목/단가 데이터 마이그레이션을 위한 Seeder 생성

📁 추가된 파일

파일 설명
api/database/seeders/Kyungdong/KyungdongItemSeeder.php 경동기업 품목/단가 마이그레이션 Seeder

🔧 상세 변경 사항

1. KyungdongItemSeeder.php 생성

기능:

  • chandj.KDunitprice (601건) → samdb.items 마이그레이션
  • items 기반 → samdb.prices 마이그레이션
  • 기존 tenant_id=287 데이터 삭제 후 재생성

주요 로직:

// item_div → item_type 매핑
'[제품]' => 'FG'   // 완제품
'[상품]' => 'FG'   // 완제품
'[반제품]' => 'PT' // 부품
'[부재료]' => 'SM' // 부자재
'[원재료]' => 'RM' // 원자재
'[무형상품]' => 'CS' // 소모품

발견된 이슈 및 해결:

  • 레거시 DB의 is_deleted 컬럼이 0이 아닌 NULL로 활성 상태 표시
  • where('is_deleted', 0)whereNull('is_deleted') 수정

실행 방법

# Docker 컨테이너 내부에서 실행
docker exec sam-api-1 php artisan db:seed --class="Database\\Seeders\\Kyungdong\\KyungdongItemSeeder"

# 또는 Docker 환경에서 직접 실행
cd /var/www/html && php artisan db:seed --class="Database\\Seeders\\Kyungdong\\KyungdongItemSeeder"

📊 예상 결과

테이블 작업 예상 건수
items DELETE (기존) ~10,472건
items INSERT (신규) ~601건
prices DELETE (기존) ~86건
prices INSERT (신규) ~601건

⚠️ 주의사항

  1. 기존 데이터 삭제됨: tenant_id=287의 모든 items, prices 삭제
  2. 실행 전 백업 권장: 중요 데이터는 백업 후 실행
  3. Docker 환경 필수: chandj DB 연결은 Docker 내부에서만 가능 (sam-mysql-1 호스트명)

🔗 관련 문서