summaryrefslogtreecommitdiff
path: root/db/seeds_2/seed.ts
diff options
context:
space:
mode:
Diffstat (limited to 'db/seeds_2/seed.ts')
-rw-r--r--db/seeds_2/seed.ts56
1 files changed, 56 insertions, 0 deletions
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