我使用 Prisma 作为 ORM,并且必须删除一些列并添加其他列。我已经使用新列更新了数据库并重新创建了 prisma 架构,但问题是现在每次我尝试插入新条目时,都会收到此错误:
Unknown arg "picture" in create.picture for type usersCreateInput. Did you mean "image"?
“图片”是新列之一,“图像”是已删除的列之一,似乎生成的类型没有正确更新,因为其中一个新列存在(email_verified),但另一个(图片)不是。
type usersCreateInput {
name?: String | Null
email?: String | Null
email_verified?: DateTime | Null
image?: String | Null
mentor?: Boolean | Null
weekly_time?: Int | Null
journey?: String | Null
pronouns?: String | Null
occupation?: String | Null
description?: String | Null
created_at?: DateTime
updated_at?: DateTime
skills?: usersCreateskillsInput | List<String>
boards?: boardsCreateNestedOneWithoutUsersInput
}
这些正是我所做的步骤:
npx prisma init
npx prisma db pull
和 npx prisma generate
以根据已存在的数据库重新创建架构,重要的是要注意我检查了架构并且它是正确的:model users {
id Int @id @default(autoincrement())
name String? @db.VarChar(255)
email String? @unique(map: "email") @db.VarChar(255)
email_verified Boolean?
picture String?
mentor Boolean?
skills String[]
weekly_time Int?
journey String? @db.VarChar(255)
pronouns String? @db.VarChar(255)
occupation String?
description String? @db.VarChar(255)
created_at DateTime @default(now()) @db.Timestamptz(6)
updated_at DateTime @default(now()) @db.Timestamptz(6)
boards boards?
sessions sessions[]
}
有没有办法完全重置prisma?我也尝试删除node_modules并再次安装所有内容,但没有解决。
如果您遇到问题,认为 TypeScript 无法正常工作,您可以随时尝试按 Ctrl+Shift+P 并输入 >重新启动 TS 服务器来重新启动 TypeScipt 语言服务器。确保首先导航到 .ts 文件!
这样你就不必重新打开 VSCode。
我也有同样的问题。解决方案是运行命令
npm i
删除当前的Prisma Client(无需删除node_modules),然后运行npx prisma generate
重新创建一个新的Prisma Client。
此后,我在尝试查询新列时仍然遇到错误,但解决方案是关闭并重新打开编辑器,在我的例子中是 VS Code。
我在此遇到了可怕的 ID-10-T 错误。我的模型称为 Item。当我在一行的开头开始打字时,我依靠打字稿来帮助我
Prisma.ItemCrea...
Intellisense 没有给我任何东西。不管出于什么原因,我决定尝试一下。
let x: Prisma.ItemCrea... // there it is, pops right up!
尝试定义一个变量或将其设置为函数或其他内容的返回类型...然后它会显示在 VSCode 智能感知中。 脸掌。
我遇到了同样的问题,但我发现我的类型导入有问题。 我以前就是这么用的。
import { PrismaClient } from '.prisma/client';
后来我改成了下面的代码,解决了问题。
import { PrismaClient } from '@prisma/client';
不知道这些能不能帮到你