diff --git a/prisma/schema.prisma b/prisma/schema.prisma index fe11b03..b0f0b0a 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -9,8 +9,8 @@ generator client { } datasource db { - provider = "sqlite" - url = "file:./dev.db" + provider = "postgresql" + url = env("DATABASE_URL") } model User { diff --git a/prisma/seed.ts b/prisma/seed.ts new file mode 100644 index 0000000..1d1d8c3 --- /dev/null +++ b/prisma/seed.ts @@ -0,0 +1,36 @@ +import { faker } from "@faker-js/faker"; +import { PrismaClient } from "@prisma/client"; + +const prisma = new PrismaClient(); + +async function main() { + const users = Array.from({ length: 25 }, () => ({ + name: `${faker.person.fullName().split(" ")[1]} House-${crypto + .randomUUID() + .slice(0, 5)}`, + email: faker.internet.email(), + emailVerified: false, + firstPaymentDone: false, + verified: false, + house_name: faker.location.streetAddress(), + id_card: `A${Math.round(Math.random() * 999999)}`, + dob: faker.date.between({ + from: "1900-01-01", + to: "2000-01-01", + }), + phoneNumber: String(faker.number.int({ min: 7000000, max: 9999999 })), + phoneNumberVerified: false, + role: "USER", + })); + await prisma.user.createMany({ + data: users, + }); +} + +main() + .then(() => prisma.$disconnect()) + .catch(async (e) => { + console.error(e); + await prisma.$disconnect(); + process.exit(1); + });