Jan Georg
07/23/2021, 6:59 PMmodel Item {
id String @id
name String
parentId String?
parent Item? @relation("ItemHierarchy", fields: [parentId], references: [id])
predecessor Item? @relation("ItemHierarchy")
}
// seed.js
await prisma.item.upsert({ id: "1", name: "1" }
await prisma.item.upsert({ id: "2", name: "2", { parent: { connect: { id: "1" } } } }
await prisma.item.upsert({ id: "3", name: "3", { parent: { connect: { id: "1" } } } }
...
await prisma.item.upsert({ id: "10", name: "10", { parent: { connect: { id: "1" } } } }
Ryan
07/26/2021, 6:54 AMmodel Item {
id String @id
name String
children Item[] @relation("ItemHierarchy")
parent Item? @relation("ItemHierarchy", fields: [parentId], references: [id])
parentId String?
}
And your query then would be this (the syntax in your question is incorrect):
await prisma.item.upsert({
where: { id: '1' },
create: { id: '1', name: '1' },
update: {},
})
await prisma.item.upsert({
where: { id: '2' },
create: { id: '2', name: '2', parent: { connect: { id: '1' } } },
update: {},
})
await prisma.item.upsert({
where: { id: '3' },
create: { id: '3', name: '3', parent: { connect: { id: '1' } } },
update: {},
})
You can learn more about data modelling in the docs here.