Jaye
10/25/2021, 3:27 PMconnectOrCreate
from within an upsert
query? i'm getting an error that prisma doesn't understand my args at the momentRyan
10/26/2021, 4:57 AMJaye
10/26/2021, 12:58 PMUnknown arg `creator` in create.creator for type WorkflowUncheckedCreateInput. Did you mean `createdAt`?
const newData = {
answers,
type: WorkflowType.Historic,
creator: {
connectOrCreate: {
create: {
email: creatorEmail,
},
where: {
email: creatorEmail,
},
},
},
}
const id = deterministicId(newData)
await db.workflow.upsert({
where: {
id,
},
update: newData,
create: {
id,
...newData,
},
})
simplified models:
model Workflow {
id String @id @default(cuid())
// ...
createdAt DateTime @default(now())
createdBy String
creator User? @relation(name: "creator", fields: [createdBy], references: [email])
}
model User {
id String @id @default(cuid())
// ...
email String? @unique
createdWorkflows Workflow[] @relation("creator")
}
Ryan
10/27/2021, 10:45 AMconst creatorEmail = 'email'
const newData = {
creator: {
connectOrCreate: {
create: {
email: creatorEmail,
},
where: {
email: creatorEmail,
},
},
},
}
const id = 'some-random-id'
await prisma.workflow.upsert({
where: {
id,
},
update: newData,
create: {
id,
...newData,
},
})