Post cover

Prisma Client 中的字段和关键字

Author AvatarYuhang
2024年7月27日
JavaScriptTypeScript

在 Prisma Schema 中定义模型时,可以使用多种字段类型和关键字来描述数据结构和关系。以下是一些常用的:

1. 数据类型:

  • String: 字符串类型,例如 String
  • Int: 整数类型,例如 Int
  • BigInt: 大整数类型,例如 BigInt
  • Float: 浮点数类型,例如 Float
  • Decimal: 精确小数类型,例如 Decimal
  • Boolean: 布尔类型,例如 Boolean
  • DateTime: 日期和时间类型,例如 DateTime
  • Json: JSON 对象类型,例如 Json
  • Bytes: 字节数组类型,例如 Bytes

2. 字段修饰符:

  • @id: 将字段标记为主键。
  • @unique: 确保字段值唯一。
  • @default(value): 设置字段默认值。
  • @updatedAt: 在每次更新记录时自动更新字段值为当前时间。
  • @relation(fields: […], references: […], …): 定义模型之间的关系。
  • @map(name: "…"): 自定义字段在数据库中的名称。

3. 关系字段关键字:

  • fields: 指定参与关系的字段。
  • references: 指定关联模型中的主键字段。
  • onDelete: 定义当关联记录被删除时的行为,例如 cascade, restrict, set null
  • onUpdate: 定义当关联记录被更新时的行为,例如 cascade, restrict, set null

4. 模型级别关键字:

  • @@id([fields], { name: "…" }): 定义复合主键。
  • @@unique([fields], { name: "…" }): 定义唯一约束,可以包含多个字段。
  • @@index([fields], { name: "…" }): 为字段创建索引,可以包含多个字段。
  • @@map(name: "…"): 自定义模型在数据库中的表名。

5. Prisma Client API 中的常用关键字:

  • findMany: 查询符合条件的多条记录。
  • findFirst: 查询符合条件的第一条记录。
  • create: 创建新的记录。
  • update: 更新现有记录。
  • delete: 删除记录。
  • count: 统计符合条件的记录数量。
  • include: 在查询结果中包含关联模型的数据。
  • select: 选择要返回的字段。
  • where: 指定查询条件。
  • orderBy: 指定排序规则。
  • skip: 跳过指定数量的记录。
  • take: 限制返回的记录数量。

这只是一些常用的字段和关键字,Prisma 还提供了许多其他功能,例如枚举类型、自定义函数和类型安全的数据库迁移。

建议查阅 Prisma 官方文档以获取更完整的信息: https://www.prisma.io/docs/

0

Likes

加载评论中...