prisma / language-tools

🌐 Prisma Language Tools = Language Server and Prisma's VS Code extension.
https://marketplace.visualstudio.com/items?itemName=Prisma.prisma
Apache License 2.0
255 stars 36 forks source link

Missing code autocomplete for referential actions with mongodb #1676

Closed milindgoel15 closed 4 months ago

milindgoel15 commented 6 months ago

Bug description

Not sure if this is a bug or a missing feature, but when adding any referential actions (onDelete or onUpdate), it does not give any auto-suggestion in vscode even while using the Prisma extension.

Normally it gives fields, names, references when creating any type of relation between models but it does not give for onDelete or onUpdate. Also all the support actions with it (Cascade, SetNull, etc).

How to reproduce

  1. Create a relation between 2 models,
  2. Try adding a referential action for say onDelete.
  3. Here, you have to type it it up all manually.

Expected behavior

the actions gets auto-suggested as to what type of relation you want to set.

Prisma information

generator client {
   provider = "prisma-client-js"
}

datasource db {
   provider = "mongodb"
   url      = env("DATABASE_URL")
}

model Post {
   id       String @id @default(auto()) @map("_id") @db.ObjectId
   title    String
   author   User   @relation(fields: [authorId], references: [id], onDelete: Cascade)
   authorId String @db.ObjectId
}

model User {
   id    String @id @default(auto()) @map("_id") @db.ObjectId
   posts Post[]
}

Environment & setup

Prisma Version

Environment variables loaded from .env
prisma                  : 5.10.2
@prisma/client          : 5.10.2
Computed binaryTarget   : windows
Operating System        : win32
Architecture            : x64
Node.js                 : v20.10.0
Query Engine (Node-API) : libquery-engine 5a9203d0590c951969e85a7d07215503f4672eb9 (at node_modules\@prisma\engines\query_engine-windows.dll.node)
Schema Engine           : schema-engine-cli 5a9203d0590c951969e85a7d07215503f4672eb9 (at node_modules\@prisma\engines\schema-engine-windows.exe)
Schema Wasm             : @prisma/prisma-schema-wasm 5.10.0-34.5a9203d0590c951969e85a7d07215503f4672eb9
Default Engines Hash    : 5a9203d0590c951969e85a7d07215503f4672eb9
Studio                  : 0.499.
milindgoel15 commented 6 months ago

Just a note, i am using the schema from referential actions docs with provider set to MongoDB to reproduce the issue.

Druue commented 4 months ago

Hey @milindgoel15, I can confirm what you're seeing as a bug, this is due to an issue in engines where we were using the incorrect set of referential actions specifically for completions offered by the extension.

There's a fix in review :)