summaryrefslogtreecommitdiff
path: root/db/seeds/itmeSeed.ts
blob: 66d4cbfd0957642531a8689b24dba40fd12f3b23 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
// db/seed/itemSeed.ts
import { faker } from "@faker-js/faker"
import db from "@/db/db"
import { items } from "../schema/items"
import { eq } from "drizzle-orm"

export async function seedItems() {
  // 1) 기존 데이터 삭제 (원하면)
  await db.delete(items)

  // 2) 임의로 10개의 아이템 생성 (원하는 개수로 조정)
  const itemCount = 10

  for (let i = 0; i < itemCount; i++) {
    const newItem = {
      // itemCode: PK. 예: "ITEM-AB12"
      itemCode: faker.string.alpha({ length: 6 }).toUpperCase(),
      itemName: faker.commerce.productName(),
      description: faker.commerce.productDescription(),
      // createdAt, updatedAt 은 DB defaultNow() 사용
    }

    await db.insert(items).values(newItem)
  }

  console.log(`✅ Seeded ${itemCount} items.`)
}

// 단독 실행 가능하도록 아래처럼 작성
if (require.main === module) {
  seedItems()
    .then(() => {
      console.log("Item seeding complete!")
      process.exit(0)
    })
    .catch((error) => {
      console.error("Item seeding failed:", error)
      process.exit(1)
    })
}