import 'dotenv/config' import { PrismaPg } from '@prisma/adapter-pg' import { v7 as uuidv7 } from 'uuid' import { PrismaClient } from '../src/generated/prisma/client' import { planSeeds } from './plans.seed-data' import { sportSeeds } from './sports.seed-data' const databaseUrl = process.env.DATABASE_URL if (!databaseUrl) { throw new Error('Missing DATABASE_URL in environment for seeding.') } const adapter = new PrismaPg({ connectionString: databaseUrl, }) const prisma = new PrismaClient({ adapter }) async function run() { for (const plan of planSeeds) { await prisma.plan.upsert({ where: { code: plan.code }, update: { name: plan.name, price: plan.price, rules: plan.rules, lastUpdatedAt: new Date(), }, create: { code: plan.code, name: plan.name, price: plan.price, rules: plan.rules, }, }) } for (const sport of sportSeeds) { await prisma.sport.upsert({ where: { slug: sport.slug }, update: { name: sport.name, isActive: true, }, create: { id: uuidv7(), name: sport.name, slug: sport.slug, isActive: true, }, }) } } run() .then(async () => { await prisma.$disconnect() }) .catch(async (error) => { console.error(error) await prisma.$disconnect() process.exit(1) })