hola tengo tres modelos
model User { user_id Int @id @default(autoincrement()) email String @unique name String? User_Account User_Account[] } model Account { account_id Int @id @default (autoincrement()) @unique email String bank String createdAt DateTime @default(now()) User_Account User_Account[] } model User_Account { id Int @id @default(autoincrement()) accountId Int userId Int User User @relation(fields: [userId], references: [user_id]) Account Account @relation(fields: [accountId], references: [account_id]) }Estoy tratando de sembrar mi base de datos así
const data = [ { id: 1, email: 'pranit1@mf.com', name: 'Pranit1', bank: 'VCB', ids: [1,1] }, { id: 2, email: 'pranit1@mf.com', name: 'Pranit1', bank: 'ACB', ids: [1,2] }, { id: 3, email: 'pranit3@mf.com', name: 'Pranit3', bank: 'VCB', ids: [2,3] } ] const users = await prisma.$transaction( data.map(user => prisma.user.upsert({ where: { email: user.email }, update: {}, create: { name: user.name, email:user.email }, }) ) ); const accounts = await prisma.$transaction( data.map(account => prisma.account.upsert({ where: { account_id: account.id }, update: {}, create: { bank: account.bank , email :account.email }, }) ) ); const user_accounts = await prisma.$transaction( data.map(uacc =>{ console.log(uacc); return prisma.user_Account.upsert({ where: { id: uacc.id }, update: {id: uacc.id}, create:{ userId: uacc.ids[0], accountId: uacc.ids[1] }, })} ) );Sin embargo, estoy recibiendo un
La restricción única falló en la restricción:
User_Account_userId_key
Los datos en prisma studio se generan como se muestra en la imagen 
Simplemente estoy tratando de crear usuarios y cuentas y un usuario puede asociarse con varias cuentas. Su relación se muestra en la tabla User_Account. No puedo ver por qué recibo un error de restricción única cuando no tengo la etiqueta @unique en el ID de usuario
No pude reproducir el error de mi lado. Pero sospecho que ya tenía registros en la base de datos y entran en conflicto con las identificaciones de su sembradora. Además, hay algunas mejoras que podría hacer en su esquema para que sea más simple.
sugerencia de esquema.prisma
model User { id Int @id @default(autoincrement()) email String @unique name String? accounts Account[] } model Account { id Int @id @unique @default(autoincrement()) email String bank String users User[] createdAt DateTime @default(now()) }sugerencia de seed.js
const { PrismaClient } = require("@prisma/client"); const prisma = new PrismaClient(); async function main() { const usersData = [ { email: "pranit1@mf.com", name: "Pranit1", banks: ["VCB", "ACB"], }, { email: "pranit3@mf.com", name: "Pranit3", banks: ["VCB"], }, ]; const users = await prisma.$transaction( usersData.map((user) => prisma.user.upsert({ where: { email: user.email }, update: {}, create: { name: user.name, email: user.email, accounts: { create: user.banks.map((bank) => ({ email: user.email, bank, })), }, }, }) ) ); } main() .catch((e) => { console.error(e); process.exit(1); }) .finally(async () => { await prisma.$disconnect(); });