32 lines
893 B
TypeScript
32 lines
893 B
TypeScript
import { PrismaClient } from "@prisma/client";
|
|
import { rolesData } from '../data/jsons/roles';
|
|
|
|
export class RoleSeeder {
|
|
constructor(private prisma: PrismaClient) {}
|
|
|
|
async run(): Promise<void> {
|
|
console.log('Seeding roles...');
|
|
|
|
await this.prisma.sessions.deleteMany({});
|
|
await this.prisma.locations.deleteMany({});
|
|
await this.prisma.events.deleteMany({});
|
|
await this.prisma.permissions.deleteMany({});
|
|
await this.prisma.profiles.deleteMany({});
|
|
await this.prisma.users.deleteMany({});
|
|
await this.prisma.roles.deleteMany({});
|
|
|
|
try {
|
|
const newRole = await this.prisma.roles.createMany({
|
|
data: rolesData,
|
|
skipDuplicates: true,
|
|
});
|
|
|
|
console.log(
|
|
'Roles seeded:',
|
|
rolesData.map((role) => role.name).join(', ')
|
|
);
|
|
} catch (error) {
|
|
console.error('Error seeding roles:', error);
|
|
}
|
|
}
|
|
} |