我使用Prisma作为一个ORM,不得不更改删除一些列并添加其他列。我已经用新列更新了数据库并重新创建了Prisma模式,但问题是,现在每次我尝试插入新条目时,我都会得到这个错误:
第一个月
“picture”是新列之一,“image”是已删除的列之一,似乎生成的类型没有正确更新,因为其中一个新列在那里(email_verified),但另一个(picture)不在。
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
}
字符串
这些正是我所做的步骤:
1.修改了Docker使用的init.sql文件
1.已基于新的init.sql重新创建数据库
1.删除现有的模式,然后npx prisma init
1.运行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并重新安装所有东西,但没有解决。
3条答案
按热度按时间x8goxv8g1#
如果您遇到问题,您认为TypeScript无法正常工作,您可以尝试按下Ctrl+Shift+P并键入>Restart TS server来重新启动TypeScipt语言服务器。请确保首先导航到.ts文件!
这样您就不必重新打开VSCode。
yhuiod9q2#
我遇到了同样的问题。解决方案是运行
npm i
命令删除当前的Prisma客户端(不需要删除node_modules),然后运行npx prisma generate
重新创建一个新的Prisma客户端。此后,我在尝试查询新列时仍然出错,但随后解决方案是关闭并重新打开编辑器,在我的情况下是VS Code。
8i9zcol23#
我遇到了一个可怕的ID-10-T错误,我的模型叫做Item,当我在一行的开头开始输入时,我依赖于typescript来帮助我
字符串
Intellisense给了我什么。无论出于什么原因,我决定尝试这个。
型
尝试定义一个变量或使其成为函数的返回类型.然后它会显示在VSCode智能感知中。