From 33010f191688292311a5bba18093372e9962a50b Mon Sep 17 00:00:00 2001 From: hskwon Date: Tue, 9 Dec 2025 20:27:30 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20ItemTypeSeeder=EC=97=90=20attributes.so?= =?UTF-8?q?urce=5Ftable=20=EB=A7=A4=ED=95=91=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - common_codes 테이블 item_type 그룹에 source_table 매핑 추가 - FG/PT → products, SM/RM/CS → materials 테이블 매핑 - attributes JSON에 name_en 영문명 추가 --- database/seeders/ItemTypeSeeder.php | 60 ++++++++++++++++++++++++++--- 1 file changed, 55 insertions(+), 5 deletions(-) diff --git a/database/seeders/ItemTypeSeeder.php b/database/seeders/ItemTypeSeeder.php index aa377c2..08f5c74 100644 --- a/database/seeders/ItemTypeSeeder.php +++ b/database/seeders/ItemTypeSeeder.php @@ -10,18 +10,68 @@ class ItemTypeSeeder extends Seeder /** * Run the database seeds. * common_codes 테이블에 item_type 그룹 데이터 시딩 + * + * attributes.source_table: 실제 저장 테이블 매핑 + * - FG, PT → products 테이블 + * - SM, RM, CS → materials 테이블 */ public function run(): void { $tenantId = 1; // 기본 테넌트 // code_group = 'item_type' (컬럼명과 동일하게!) + // attributes.source_table로 물리 테이블 매핑 $itemTypes = [ - ['code_group' => 'item_type', 'code' => 'FG', 'name' => '완제품', 'tenant_id' => $tenantId], - ['code_group' => 'item_type', 'code' => 'PT', 'name' => '반제품', 'tenant_id' => $tenantId], - ['code_group' => 'item_type', 'code' => 'SM', 'name' => '부자재', 'tenant_id' => $tenantId], - ['code_group' => 'item_type', 'code' => 'RM', 'name' => '원자재', 'tenant_id' => $tenantId], - ['code_group' => 'item_type', 'code' => 'CS', 'name' => '소모품', 'tenant_id' => $tenantId], + [ + 'code_group' => 'item_type', + 'code' => 'FG', + 'name' => '완제품', + 'tenant_id' => $tenantId, + 'attributes' => json_encode([ + 'source_table' => 'products', + 'name_en' => 'Finished Goods', + ]), + ], + [ + 'code_group' => 'item_type', + 'code' => 'PT', + 'name' => '부품', + 'tenant_id' => $tenantId, + 'attributes' => json_encode([ + 'source_table' => 'products', + 'name_en' => 'Parts', + ]), + ], + [ + 'code_group' => 'item_type', + 'code' => 'SM', + 'name' => '부자재', + 'tenant_id' => $tenantId, + 'attributes' => json_encode([ + 'source_table' => 'materials', + 'name_en' => 'Sub-Materials', + ]), + ], + [ + 'code_group' => 'item_type', + 'code' => 'RM', + 'name' => '원자재', + 'tenant_id' => $tenantId, + 'attributes' => json_encode([ + 'source_table' => 'materials', + 'name_en' => 'Raw Materials', + ]), + ], + [ + 'code_group' => 'item_type', + 'code' => 'CS', + 'name' => '소모품', + 'tenant_id' => $tenantId, + 'attributes' => json_encode([ + 'source_table' => 'materials', + 'name_en' => 'Consumables', + ]), + ], ]; foreach ($itemTypes as $index => $item) {