import { prismaClient as prisma } from '../../prismaClient' /** * When we create a new service, not all service project are created by default * We should be adding that in the createService in a service controller... * But for now since we don't have that we have this script to create all the serviceProject * A serviceProject is associated to a project (1-1) */ prisma.service.findMany().then(async (services) => { console.log('START creating all service projects for all services') const allProjects = await prisma.project.findMany() for await (const service of services) { const serviceProjectsForService = await prisma.service .findOne({ where: { id: service.id } }) .serviceProjects({ include: { project: true } }) for await (const project of allProjects) { const serviceProjectForProject = serviceProjectsForService.find( (serviceProject) => serviceProject.project?.id === project.id ) if (!serviceProjectForProject) { await prisma.serviceProject.create({ data: { project: { connect: { id: project.id, }, }, service: { connect: { id: service.id, }, }, }, }) } } } console.log('DONE creating all service projects for all services') })