【问题标题】:Does Prisma (typescript) generate a schema without generated values?Prisma(打字稿)是否生成没有生成值的模式?
【发布时间】:2022-10-25 22:58:04
【问题描述】:

我正在使用 Prisma 生成我的数据库模式,其中包括自动生成的默认 ID 值:

model User {
    id Int @id @default(autoincrement())
    name String
    age Int
}

但是,每当我导入生成的用户模式时,如下所示:

import { User } from "@prisma/client";

它总是在对象形状中有 id - 但是,当我运行创建函数时,它不能使用,因为它总是抱怨 id 丢失(创建形状应该是。

{
"name": "john",
"age": 13
}

是否有任何 Prisma 生成的不包括自动生成的值?我可以创建自己的单独 DTO 类/接口,但这意味着模式没有单一的事实点,我不是它的忠实粉丝。

【问题讨论】:

    标签: typescript prisma


    【解决方案1】:

    如果您使用User 的架构运行prisma generate,就像问题中的那样,您可以运行

    prisma.user.create({ data: { name: "john", age: 13 } });
    

    没有任何问题。

    您可以查看UserCreateInput

      export type UserCreateInput = {
        name: string
        age: number
      }
    

    顺便说一句:您可能想考虑一下,如果您真的想将 API 定义(DTO 等)与数据库结构联系起来。尽管乍一看这似乎不错,但它引入了强耦合,可能会阻碍未来的增强。

    【讨论】:

      猜你喜欢
      • 2018-02-06
      • 2019-02-17
      • 1970-01-01
      • 2021-12-29
      • 1970-01-01
      • 1970-01-01
      • 2017-05-31
      • 1970-01-01
      • 2018-10-17
      相关资源
      最近更新 更多