refactor(item-master): 독립 엔티티 아키텍처 적용 및 Swagger 보완

- FK 컬럼 제거: item_sections.page_id, item_fields.section_id, item_bom_items.section_id
- entity_relationships 테이블로 전환하여 독립 엔티티 구조 확립
- ItemMasterField 관련 파일 삭제 (Controller, Service, Model, Requests)
- destroy 메서드 독립 엔티티 아키텍처 적용 (관계 링크만 삭제)
- Swagger 스키마에서 FK 참조 제거
- FormRequest 및 Swagger에 group_id(계층번호) 필드 추가
This commit is contained in:
2025-11-27 10:28:51 +09:00
parent 1d2dadc7da
commit 9588945922
18 changed files with 361 additions and 550 deletions

View File

@@ -14,7 +14,6 @@ class ItemField extends Model
protected $fillable = [
'tenant_id',
'group_id',
'section_id',
'field_name',
'field_type',
'order_no',
@@ -25,6 +24,9 @@ class ItemField extends Model
'validation_rules',
'options',
'properties',
'category',
'description',
'is_common',
'created_by',
'updated_by',
'deleted_by',
@@ -34,6 +36,7 @@ class ItemField extends Model
'group_id' => 'integer',
'order_no' => 'integer',
'is_required' => 'boolean',
'is_common' => 'boolean',
'display_condition' => 'array',
'validation_rules' => 'array',
'options' => 'array',
@@ -49,15 +52,7 @@ class ItemField extends Model
];
/**
* 소속 섹션 (기존 FK 기반 - 하위 호환성)
*/
public function section()
{
return $this->belongsTo(ItemSection::class, 'section_id');
}
/**
* 이 필드가 연결된 섹션들 조회 (링크 테이블 기반)
* 이 필드가 연결된 섹션들 조회 (entity_relationships 기반)
*/
public function linkedSections()
{