我正在使用NextJS框架和Prisma管理连接和数据库查询的ReactJS项目。
在我的本地项目中,可以找到Support模型,并且当我在API中使用它并构建我的项目时,一切正常。
但是,当我将项目推送到生产服务器(Plesk)时,构建会显示这个TypeScript错误,因为它找不到Support模型:
./src/pages/api/support/index.ts:27:26
Type error: Property 'support' does not exist on type 'PrismaClient<PrismaClientOptions, never, RejectOnNotFound | RejectPerOperation | undefined>'.
我希望在路径./src/pages/api/support/index.ts
中使用Support模型。
我的prisma.schema
:
datasource db {
provider = "mysql"
url = env("DATABASE_CONNECTION")
}
generator client {
provider = "prisma-client-js"
}
model User {
id Int @id @unique @default(autoincrement())
gender String?
firstName String
lastName String
email String @unique
phone String
birthday DateTime?
income Float?
pincode Int?
points Float?
token String @db.Text
ipAddress String
kyc Kyc[]
createdAt DateTime @default(now())
updatedAt DateTime?
isValidated Boolean @default(false)
roleId Int
role Role @relation(fields: [roleId], references: [id])
Alerts Alerts[]
Support Support[]
}
model Kyc {
id Int @id @unique @default(autoincrement())
name String
validated Boolean @default(false)
path String
createdAt DateTime @default(now())
updatedAt DateTime? @updatedAt
user User @relation(fields: [userId], references: [id])
userId Int
}
model Alerts {
id Int @id @unique @default(autoincrement())
type TYPE @default(NOBLOCKED)
message String @db.Text
transferId Int @unique
fromUserId Int
read Boolean @default(false)
createdAt DateTime @default(now())
user User @relation(fields: [fromUserId], references: [id])
}
model Role {
id Int @id @unique @default(autoincrement())
name String
User User[]
}
model Support {
id Int @id @unique @default(autoincrement())
subject String
message String @db.Text
createdAt DateTime @default(now())
userId Int
user User @relation(fields: [userId], references: [id])
}
enum TYPE {
BLOCKED
NOBLOCKED
}
我不知道每次推送最新更改时,是否需要使用prisma migrate dev
还是prisma migrate deploy
。
prisma generate
命令生成 Prisma 客户端?prisma migrate dev
命令会同时生成迁移和 Prisma 客户端。 - Pasindu Dilshanprisma migrate deploy
来处理这个 Support 模型。这正是 @Pasindudilshan 所说的prisma migrate dev
,它也生成 Prisma 客户端,这就是为什么我以前从未遇到过这个错误的原因。 - Peterprisma migrate deploy
不会生成客户端,所以你需要像提到的那样运行prisma generate
。只是为了澄清一下,你现在已经解决了这个问题吗? - Tasin Ishmam