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)
})
}
|