feat: 경동기업 품목 기준 데이터 배포용 시더 구현
- ExportItemMasterDataCommand: tenant_id=287 데이터를 JSON으로 추출 - KyungdongItemMasterSeeder: JSON 기반 DELETE+재삽입 시더 - Phase 1: item_pages/sections/fields + entity_relationships - Phase 2: categories(depth순) + items(배치500건) - Phase 3: item_details + prices - ID 매핑으로 환경별 충돌 없음, 트랜잭션 안전 - 8개 JSON 데이터 파일 포함 (총 약 1.5MB) - .gitignore에 시더 데이터 예외 추가 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
1298
database/seeders/data/kyungdong/categories.json
Normal file
1298
database/seeders/data/kyungdong/categories.json
Normal file
File diff suppressed because it is too large
Load Diff
1352
database/seeders/data/kyungdong/entity_relationships.json
Normal file
1352
database/seeders/data/kyungdong/entity_relationships.json
Normal file
File diff suppressed because it is too large
Load Diff
4118
database/seeders/data/kyungdong/item_details.json
Normal file
4118
database/seeders/data/kyungdong/item_details.json
Normal file
File diff suppressed because it is too large
Load Diff
2180
database/seeders/data/kyungdong/item_fields.json
Normal file
2180
database/seeders/data/kyungdong/item_fields.json
Normal file
File diff suppressed because it is too large
Load Diff
82
database/seeders/data/kyungdong/item_pages.json
Normal file
82
database/seeders/data/kyungdong/item_pages.json
Normal file
@@ -0,0 +1,82 @@
|
||||
[
|
||||
{
|
||||
"tenant_id": 287,
|
||||
"group_id": 1,
|
||||
"page_name": "소모품 등록",
|
||||
"item_type": "CS",
|
||||
"source_table": "items",
|
||||
"absolute_path": "\/소모품관리\/소모품 등록",
|
||||
"is_active": 1,
|
||||
"created_by": 1,
|
||||
"updated_by": null,
|
||||
"deleted_by": null,
|
||||
"created_at": "2026-02-04 22:20:41",
|
||||
"updated_at": "2026-02-04 22:20:41",
|
||||
"deleted_at": null,
|
||||
"_original_id": 1025
|
||||
},
|
||||
{
|
||||
"tenant_id": 287,
|
||||
"group_id": 1,
|
||||
"page_name": "원자재 등록",
|
||||
"item_type": "RM",
|
||||
"source_table": "items",
|
||||
"absolute_path": "\/원자재관리\/원자재 등록",
|
||||
"is_active": 1,
|
||||
"created_by": 1,
|
||||
"updated_by": null,
|
||||
"deleted_by": null,
|
||||
"created_at": "2026-02-04 22:20:41",
|
||||
"updated_at": "2026-02-04 22:20:41",
|
||||
"deleted_at": null,
|
||||
"_original_id": 1026
|
||||
},
|
||||
{
|
||||
"tenant_id": 287,
|
||||
"group_id": 1,
|
||||
"page_name": "부자재 등록",
|
||||
"item_type": "SM",
|
||||
"source_table": "items",
|
||||
"absolute_path": "\/부자재관리\/부자재 등록",
|
||||
"is_active": 1,
|
||||
"created_by": 1,
|
||||
"updated_by": null,
|
||||
"deleted_by": null,
|
||||
"created_at": "2026-02-04 22:20:41",
|
||||
"updated_at": "2026-02-04 22:20:41",
|
||||
"deleted_at": null,
|
||||
"_original_id": 1027
|
||||
},
|
||||
{
|
||||
"tenant_id": 287,
|
||||
"group_id": 1,
|
||||
"page_name": "부품 등록",
|
||||
"item_type": "PT",
|
||||
"source_table": "items",
|
||||
"absolute_path": "\/부품관리\/부품 등록",
|
||||
"is_active": 1,
|
||||
"created_by": 1,
|
||||
"updated_by": 1,
|
||||
"deleted_by": null,
|
||||
"created_at": "2026-02-04 22:20:41",
|
||||
"updated_at": "2026-02-04 22:20:41",
|
||||
"deleted_at": null,
|
||||
"_original_id": 1028
|
||||
},
|
||||
{
|
||||
"tenant_id": 287,
|
||||
"group_id": 1,
|
||||
"page_name": "제품 등록",
|
||||
"item_type": "FG",
|
||||
"source_table": "items",
|
||||
"absolute_path": "\/제품관리\/제품 등록",
|
||||
"is_active": 1,
|
||||
"created_by": 1,
|
||||
"updated_by": null,
|
||||
"deleted_by": null,
|
||||
"created_at": "2026-02-04 22:20:41",
|
||||
"updated_at": "2026-02-04 22:20:41",
|
||||
"deleted_at": null,
|
||||
"_original_id": 1029
|
||||
}
|
||||
]
|
||||
189
database/seeders/data/kyungdong/item_sections.json
Normal file
189
database/seeders/data/kyungdong/item_sections.json
Normal file
@@ -0,0 +1,189 @@
|
||||
[
|
||||
{
|
||||
"tenant_id": 287,
|
||||
"group_id": 1,
|
||||
"title": "기본정보",
|
||||
"type": "fields",
|
||||
"order_no": 0,
|
||||
"is_template": 0,
|
||||
"is_default": 0,
|
||||
"description": null,
|
||||
"created_by": 1,
|
||||
"updated_by": null,
|
||||
"deleted_by": null,
|
||||
"created_at": "2026-02-04 22:20:41",
|
||||
"updated_at": "2026-02-04 22:20:41",
|
||||
"deleted_at": null,
|
||||
"_original_id": 107
|
||||
},
|
||||
{
|
||||
"tenant_id": 287,
|
||||
"group_id": 1,
|
||||
"title": "기본 정보",
|
||||
"type": "fields",
|
||||
"order_no": 0,
|
||||
"is_template": 0,
|
||||
"is_default": 0,
|
||||
"description": null,
|
||||
"created_by": 1,
|
||||
"updated_by": null,
|
||||
"deleted_by": null,
|
||||
"created_at": "2026-02-04 22:20:41",
|
||||
"updated_at": "2026-02-04 22:20:41",
|
||||
"deleted_at": null,
|
||||
"_original_id": 108
|
||||
},
|
||||
{
|
||||
"tenant_id": 287,
|
||||
"group_id": 1,
|
||||
"title": "기본 정보",
|
||||
"type": "fields",
|
||||
"order_no": 0,
|
||||
"is_template": 0,
|
||||
"is_default": 0,
|
||||
"description": null,
|
||||
"created_by": 1,
|
||||
"updated_by": null,
|
||||
"deleted_by": null,
|
||||
"created_at": "2026-02-04 22:20:41",
|
||||
"updated_at": "2026-02-04 22:20:41",
|
||||
"deleted_at": null,
|
||||
"_original_id": 109
|
||||
},
|
||||
{
|
||||
"tenant_id": 287,
|
||||
"group_id": 1,
|
||||
"title": "기본 정보",
|
||||
"type": "fields",
|
||||
"order_no": 0,
|
||||
"is_template": 0,
|
||||
"is_default": 0,
|
||||
"description": null,
|
||||
"created_by": 1,
|
||||
"updated_by": null,
|
||||
"deleted_by": null,
|
||||
"created_at": "2026-02-04 22:20:41",
|
||||
"updated_at": "2026-02-04 22:20:41",
|
||||
"deleted_at": null,
|
||||
"_original_id": 110
|
||||
},
|
||||
{
|
||||
"tenant_id": 287,
|
||||
"group_id": 1,
|
||||
"title": "조립 부품 정보",
|
||||
"type": "fields",
|
||||
"order_no": 1,
|
||||
"is_template": 0,
|
||||
"is_default": 0,
|
||||
"description": null,
|
||||
"created_by": 1,
|
||||
"updated_by": 1,
|
||||
"deleted_by": null,
|
||||
"created_at": "2026-02-04 22:20:41",
|
||||
"updated_at": "2026-02-04 22:20:41",
|
||||
"deleted_at": null,
|
||||
"_original_id": 111
|
||||
},
|
||||
{
|
||||
"tenant_id": 287,
|
||||
"group_id": 1,
|
||||
"title": "절곡 부품",
|
||||
"type": "fields",
|
||||
"order_no": 2,
|
||||
"is_template": 0,
|
||||
"is_default": 0,
|
||||
"description": null,
|
||||
"created_by": 1,
|
||||
"updated_by": null,
|
||||
"deleted_by": null,
|
||||
"created_at": "2026-02-04 22:20:41",
|
||||
"updated_at": "2026-02-04 22:20:41",
|
||||
"deleted_at": null,
|
||||
"_original_id": 112
|
||||
},
|
||||
{
|
||||
"tenant_id": 287,
|
||||
"group_id": 1,
|
||||
"title": "구매 부품",
|
||||
"type": "fields",
|
||||
"order_no": 3,
|
||||
"is_template": 0,
|
||||
"is_default": 0,
|
||||
"description": null,
|
||||
"created_by": 1,
|
||||
"updated_by": null,
|
||||
"deleted_by": null,
|
||||
"created_at": "2026-02-04 22:20:41",
|
||||
"updated_at": "2026-02-04 22:20:41",
|
||||
"deleted_at": null,
|
||||
"_original_id": 113
|
||||
},
|
||||
{
|
||||
"tenant_id": 287,
|
||||
"group_id": 1,
|
||||
"title": "측면 규격 및 길이",
|
||||
"type": "fields",
|
||||
"order_no": 4,
|
||||
"is_template": 0,
|
||||
"is_default": 0,
|
||||
"description": null,
|
||||
"created_by": 1,
|
||||
"updated_by": null,
|
||||
"deleted_by": null,
|
||||
"created_at": "2026-02-04 22:20:41",
|
||||
"updated_at": "2026-02-04 22:20:41",
|
||||
"deleted_at": null,
|
||||
"_original_id": 114
|
||||
},
|
||||
{
|
||||
"tenant_id": 287,
|
||||
"group_id": 1,
|
||||
"title": "BOM",
|
||||
"type": "fields",
|
||||
"order_no": 5,
|
||||
"is_template": 0,
|
||||
"is_default": 0,
|
||||
"description": null,
|
||||
"created_by": 1,
|
||||
"updated_by": null,
|
||||
"deleted_by": null,
|
||||
"created_at": "2026-02-04 22:20:41",
|
||||
"updated_at": "2026-02-04 22:20:41",
|
||||
"deleted_at": null,
|
||||
"_original_id": 115
|
||||
},
|
||||
{
|
||||
"tenant_id": 287,
|
||||
"group_id": 1,
|
||||
"title": "부품 구성 (BOM)",
|
||||
"type": "bom",
|
||||
"order_no": 6,
|
||||
"is_template": 0,
|
||||
"is_default": 0,
|
||||
"description": null,
|
||||
"created_by": 1,
|
||||
"updated_by": null,
|
||||
"deleted_by": null,
|
||||
"created_at": "2026-02-04 22:20:41",
|
||||
"updated_at": "2026-02-04 22:20:41",
|
||||
"deleted_at": null,
|
||||
"_original_id": 116
|
||||
},
|
||||
{
|
||||
"tenant_id": 287,
|
||||
"group_id": 1,
|
||||
"title": "기본 정보",
|
||||
"type": "fields",
|
||||
"order_no": 0,
|
||||
"is_template": 0,
|
||||
"is_default": 0,
|
||||
"description": null,
|
||||
"created_by": 1,
|
||||
"updated_by": null,
|
||||
"deleted_by": null,
|
||||
"created_at": "2026-02-04 22:20:41",
|
||||
"updated_at": "2026-02-04 22:20:41",
|
||||
"deleted_at": null,
|
||||
"_original_id": 117
|
||||
}
|
||||
]
|
||||
17942
database/seeders/data/kyungdong/items.json
Normal file
17942
database/seeders/data/kyungdong/items.json
Normal file
File diff suppressed because it is too large
Load Diff
21842
database/seeders/data/kyungdong/prices.json
Normal file
21842
database/seeders/data/kyungdong/prices.json
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user