Files
2026-06-07 03:58:32 -04:00

39 lines
1.1 KiB
TypeScript

// Seed the Plan catalog (admin-tunable mirror of lib/billing/plans.ts).
// Run: npm run db:seed
import "dotenv/config";
import type { Prisma } from "@prisma/client";
import { prisma } from "@/lib/db";
import { PLANS, PLAN_ORDER } from "@/lib/billing/plans";
async function main() {
for (const key of PLAN_ORDER) {
const plan = PLANS[key];
await prisma.plan.upsert({
where: { key },
create: {
key,
name: plan.name,
priceMonthly: plan.priceMonthly,
priceYearly: plan.priceYearly,
limits: plan.limits as unknown as Prisma.InputJsonValue,
features: plan.features as unknown as Prisma.InputJsonValue,
},
update: {
name: plan.name,
priceMonthly: plan.priceMonthly,
priceYearly: plan.priceYearly,
limits: plan.limits as unknown as Prisma.InputJsonValue,
features: plan.features as unknown as Prisma.InputJsonValue,
},
});
console.log(`✓ Seeded plan: ${plan.name}`);
}
}
main()
.catch((err) => {
console.error("Seed failed:", err.message ?? err);
process.exit(1);
})
.finally(() => prisma.$disconnect());