MIF_E31221222/sigap-website/prisma/seeds/crime-category.ts

38 lines
1.1 KiB
TypeScript

// prisma/seeds/CrimeCategoriesSeeder.ts
import { generateId } from "../../app/_utils/common";
import { PrismaClient } from "@prisma/client";
import { crimeCategoriesData } from "../data/crime-category";
export class CrimeCategoriesSeeder {
constructor(private prisma: PrismaClient) { }
async run(): Promise<void> {
console.log("Seeding crime categories...");
// Truncate table jika diperlukan
await this.prisma.$executeRaw`TRUNCATE TABLE "crime_categories" CASCADE`;
for (const category of crimeCategoriesData) {
const newId = generateId({
prefix: "CC",
segments: {
sequentialDigits: 4,
},
format: "{prefix}-{sequence}",
separator: "-"
})
await this.prisma.crime_categories.create({
data: {
id: newId,
name: category.name,
description: category.description,
}
});
}
console.log(`${crimeCategoriesData.length} crime categories seeded`);
}
}