MagicPossum
MagicPossum

Reputation: 311

PRISMA: Getting type error on where clause in update method

Have a specific Prisma ORM library error that I need help with.

I have created a migration and pushed it to a postgres db.

I have generated the client model for Prisma and am able to findAll and insert data using the create method.

Where I am having trouble is the update method.

Here's my code

app.post("/articles/:title", async (req: Request, res: Response) => {
  const article = await prisma.article.update({
    where: { title: req.params.title },
    data: { title: req.body.title, content: req.body.content },
  })
  res.send('The article was posted sucessfully.' + article)
})

I am getting the following error which makes me think that the client is not finding a type 'title' when using the where argument.

app.ts:65:14 - error TS2322: Type '{ title: string; }' is not assignable to type 'ArticleWhereUniqueInput'. Object literal may only specify known properties, and 'title' does not exist in type 'ArticleWhereUniqueInput'.

65 where: { title: req.params.title }, ~~~~~~~~~~~~~~~~~~~~~~~

node_modules/.prisma/client/index.d.ts:784:3 784 where: ArticleWhereUniqueInput ~~~~~ The expected type comes from property 'where' which is declared here on type 'Subset<ArticleUpdateArgs, ArticleUpdateArgs>'

Has anyone else had this issue? I tried to introspect the database just to make sure the database was captured exactly as is, with title and content fields and then generated the client again.

Many thanks James

Upvotes: 5

Views: 3145

Answers (2)

neeraj lamsal
neeraj lamsal

Reputation: 57

Use .(find/update/delete)Many() if you are trying to query with multi values.

Upvotes: 0

MagicPossum
MagicPossum

Reputation: 311

Found the answer: Post answer was a response from Antonie

The fields in

  • where

needs to be unique.

If you can make some field, let's say date @unique (date: DateTime! @unique), and use that for your where in the upsert, I think it would work (tested on my local).

Upvotes: 6

Related Questions