import "dotenv/config"; import { PrismaPlanetScale } from "@prisma/adapter-planetscale"; import { PrismaClient } from "../lib/generated/prisma/client"; import { fetch as undiciFetch } from "undici"; import { categories, products } from "./data"; const adapter = new PrismaPlanetScale({ url: process.env.DATABASE_URL, fetch: undiciFetch, }); const prisma = new PrismaClient({ adapter }); async function main() { console.log("Seeding database..."); await prisma.product.deleteMany(); console.log("Deleted records in product table"); await prisma.category.deleteMany(); console.log("Deleted records in category table"); await prisma.$executeRaw`ALTER TABLE Product AUTO_INCREMENT = 1`; console.log("Reset product auto increment to 1"); await prisma.$executeRaw`ALTER TABLE Category AUTO_INCREMENT = 1`; console.log("Reset category auto increment to 1"); await prisma.category.createMany({ data: categories, }); console.log("Added category data"); await prisma.product.createMany({ data: products, }); console.log("Added product data"); console.log("Seeding complete!"); } main() .then(async () => { await prisma.$disconnect(); }) .catch(async (e) => { console.error(e); await prisma.$disconnect(); process.exit(1); });