feat(item-master): 잠금 기능 추가 및 FK 레거시 코드 정리

## 잠금 기능 (Lock Feature)
- entity_relationships 테이블에 is_locked, locked_by, locked_at 컬럼 추가
- EntityRelationship 모델에 잠금 관련 헬퍼 메서드 추가
- LockCheckTrait 생성 (destroy 시 잠금 체크 공통 로직)
- 각 Service의 destroy() 메서드에 잠금 체크 적용
- API 응답에 is_locked 필드 포함
- 한국어 에러 메시지 추가

## FK 레거시 코드 정리
- ItemMasterSeeder: entity_relationships 기반으로 전환
- ItemPage 모델: FK 기반 sections() 관계 제거
- ItemSectionService: clone() 메서드 FK 제거
- SectionTemplateService: page_id 컬럼 참조 제거
- EntityRelationship::link() 파라미터 순서 통일

## 기타
- Swagger 스키마에 is_locked 속성 추가
- 프론트엔드 가이드 문서 추가
This commit is contained in:
2025-11-27 15:51:00 +09:00
parent 29fe1415e5
commit efa2a84d2c
35 changed files with 537 additions and 142 deletions

View File

@@ -1,6 +1,6 @@
# 논리적 데이터베이스 관계 문서
> **자동 생성**: 2025-11-26 14:00:30
> **자동 생성**: 2025-11-27 15:34:54
> **소스**: Eloquent 모델 관계 분석
## 📊 모델별 관계 현황
@@ -134,16 +134,6 @@ ### entity_relationships
- **parent()**: morphTo → `(Polymorphic)`
- **child()**: morphTo → `(Polymorphic)`
### item_bom_items
**모델**: `App\Models\ItemMaster\ItemBomItem`
- **section()**: belongsTo → `item_sections`
### item_fields
**모델**: `App\Models\ItemMaster\ItemField`
- **section()**: belongsTo → `item_sections`
### item_pages
**모델**: `App\Models\ItemMaster\ItemPage`
@@ -155,9 +145,6 @@ ### item_pages
### item_sections
**모델**: `App\Models\ItemMaster\ItemSection`
- **page()**: belongsTo → `item_pages`
- **fields()**: hasMany → `item_fields`
- **bomItems()**: hasMany → `item_bom_items`
- **fieldRelationships()**: hasMany → `entity_relationships`
- **bomRelationships()**: hasMany → `entity_relationships`
- **allChildRelationships()**: hasMany → `entity_relationships`