La documentación de Prisma contiene un ejemplo sobre cómo crear registros anidados (abreviado):
const user = await prisma.user.create({ data: { email: 'yvette@prisma.io', name: 'Yvette', posts: { create: [ { title: 'How to make an omelette', categories: { create: { name: 'Easy cooking', }, }, }, ], }, }, })Digamos que también necesito hacer referencia al usuario creado de la categoría creada ("creador" más o menos). Prisma no completará la identificación de usuario como lo hace con las referencias directas, pero tampoco tengo la identificación de usuario para especificarla yo mismo en los datos. Si entiendo correctamente las transacciones de Prisma, tampoco puedo crear los registros primero sin la referencia de la categoría al usuario, y luego agregar la referencia faltante pero dentro de la misma transacción.
Entonces, ¿cómo haces algo como esto (mi caso de uso es ligeramente diferente pero comparable) de manera segura?
Creo que una transacción interactiva funcionaría aquí.
Simplemente cree una transacción donde:
id como desee al crear el registro "publicaciones"/dependiente.1 y 2 son consultas Prisma separadas aquí (no una sola escritura anidada).