summaryrefslogtreecommitdiff
path: root/db/seeds/itmeSeed.ts
diff options
context:
space:
mode:
Diffstat (limited to 'db/seeds/itmeSeed.ts')
-rw-r--r--db/seeds/itmeSeed.ts40
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