From 1a2241c40e10193c5ff7008a7b7b36cc1d855d96 Mon Sep 17 00:00:00 2001 From: joonhoekim <26rote@gmail.com> Date: Tue, 25 Mar 2025 15:55:45 +0900 Subject: initial commit --- db/seeds_2/seed.ts | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 db/seeds_2/seed.ts (limited to 'db/seeds_2/seed.ts') diff --git a/db/seeds_2/seed.ts b/db/seeds_2/seed.ts new file mode 100644 index 00000000..2a21fc6e --- /dev/null +++ b/db/seeds_2/seed.ts @@ -0,0 +1,56 @@ +import { seedCompanies } from "./companySeed" +import { seedItems } from "./itmeSeed" +import { seedRfqData } from "./rfqSeed" +import { seedTasks } from "./taskSeed" +import { seedUsers } from "./userSeed" +import { seedVendors } from "./vendorSeed" + +// 시드 데이터 수 중앙 관리 +const SEED_COUNTS = { + companies: 100, + users: 100, + items: { + itemsPerCategory: 100 + }, + vendors: 100, + tasks: 100, + rfqs: 100 +} as const; + +async function runAllSeeds() { + console.log("⏳ 전체 시드 실행 시작...") + const start = Date.now() + + try { + // 1. 먼저 독립적인 기본 데이터 생성 + await seedCompanies({ count: SEED_COUNTS.companies }) + console.log("✅ Companies 시드 완료") + + await seedUsers({ count: SEED_COUNTS.users }) + console.log("✅ Users 시드 완료") + + await seedItems({ itemsPerCategory: SEED_COUNTS.items.itemsPerCategory }) + console.log("✅ Items 시드 완료") + + // 2. FK 참조가 있는 데이터 생성 + await seedVendors({ count: SEED_COUNTS.vendors }) + console.log("✅ Vendors 시드 완료") + + await seedTasks({ count: SEED_COUNTS.tasks }) + console.log("✅ Tasks 시드 완료") + + // 3. 가장 많은 FK 참조가 있는 RFQ 마지막에 생성 + await seedRfqData({ count: SEED_COUNTS.rfqs }) + console.log("✅ RFQ 시드 완료") + + const end = Date.now() + console.log(`✅ 모든 시드가 ${end - start}ms 만에 완료되었습니다.`) + process.exit(0) + } catch (err) { + console.error("❌ 시드 실행 중 오류 발생:") + console.error(err) + process.exit(1) + } +} + +runAllSeeds() \ No newline at end of file -- cgit v1.2.3