Sub*_*ngh 2 orm prisma prisma2
使用 Prisma v 3.8.1
我的User模型是
model User {
id Int @id @default(autoincrement())
createdAt DateTime? @default(now())
email String @unique
name String
password String
accessToken String?
accessTokenCreatedAt DateTime? @default(now())
address String?
city String?
state String?
postalCode String?
phoneNumber Int?
igUserId String?
role Role @relation(fields: [roleId], references: [id])
roleId Int
organization Organization? @relation(fields: [organizationId], references: [id])
organizationId Int?
orders Order[]
}
Run Code Online (Sandbox Code Playgroud)
生成的类型是
type User = {
id: number;
createdAt: Date | null;
email: string;
name: string;
password: string;
accessToken: string | null;
accessTokenCreatedAt: Date | null;
address: string | null;
city: string | null;
state: string | null;
postalCode: string | null;
phoneNumber: number | null;
igUserId: string | null;
roleId: number;
organizationId: number | null;
}
Run Code Online (Sandbox Code Playgroud)
如模型中所述,此类型没有可选字段,甚至对于自动生成的 id 字段也是如此。因此,在我的代码中使用这种类型时,我不断收到此错误
Type '{ name: any; email: any; password: string; roleId: number; }' is missing the following properties from type 'User': id, createdAt, accessToken, accessTokenCreatedAt, and 7 more.
Run Code Online (Sandbox Code Playgroud)
预期行为:可选字段应标记为可选?在生成的打字稿类型中,以便在代码中轻松设置所需字段并将其传递给 .create() 方法
此类型不适合与或类似的方法一起使用create。它是find*方法的返回类型等。它应该匹配数据库表,并且表没有未定义或可选行,只能为空或不可为空。
如果仔细观察,您可以找到其他类型,例如,UserCreateArgs具有data将用于create方法的属性。该类型具有您想要的可选字段。
我不明白的是你从哪里得到这个错误?您是否尝试过将这些类型用于您自己的包装器?
| 归档时间: |
|
| 查看次数: |
3830 次 |
| 最近记录: |