diff options
Diffstat (limited to 'db/seeds/itmeSeed.ts')
| -rw-r--r-- | db/seeds/itmeSeed.ts | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/db/seeds/itmeSeed.ts b/db/seeds/itmeSeed.ts new file mode 100644 index 00000000..66d4cbfd --- /dev/null +++ b/db/seeds/itmeSeed.ts @@ -0,0 +1,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) + }) +}
\ No newline at end of file |
