prisma后端框架基本使用

重点

  • 定义:GraphQL 是一个用于 API 的查询语言,是一个使用基于类型系统来执行查询的服务端运行时(类型系统由你的数据定义)
  • prisma logout
  • prisma account
  • prisma help
  • Prisma API基于数据模型进行部署,并为该文件中的每个模型公开CRUD和实时操作。
  • prisma generate
  • schema概念:**也是定义各种数据模型,有三个东西Query,Mutation,Subscribtion,决定resolver有哪些
  • datamodel概念:定义底层数据库模式和表
  • resolvers概念:定义前端接口

datamodel.prisma

  • Types由多个fields字段组成,通常表示应用程序中的实体(例如UserCarOrder)。数据模型中的每种类型都映射到数据库表(或无模式数据库的等效结构),并且将CRUD操作添加到GraphQL schema中。

  • Relations描述类型之间的relationship关系

  • Directives指令涵盖不同的用例,例如类型约束或级联删除行为。

  • Interfaces是抽象类型,包括一组字段,类型必须包含在implement接口中。接口目前不适用于Prisma中的数据建模,但将来会支持待实现功能

  • @unique指令表示唯一约束,这意味着Prisma会自动确保永远不会有两条数据具有相同的值,比如说id或手机号不会相同从而造成重复注册。

  • 应用程序schema只需要写你能用到的,或去掉危险操作比如删除所有用户这种。

API操作

  • Query允许你获取该类型的一个或多个节点
  • Mutations允许你创建,更新或删除该类型的节点
  • Subscriptions可以让你收到有关该类型节点更改的实时通知(即新节点是created或现有节点是updateddeleted)
  • onDelete:指定删除行为deletion behaviour并启用级联删除cascading deletes。在具有相关节点的节点被删除的情况下,删除行为确定相关节点应该发生什么。此参数的输入值定义为具有以下可能值的枚举: - SET_NULL(默认值):将相关节点设置为"null"。 - CASCADE:删除相关节点。请注意,无法将双向关系的端都设置为"CASCADE"。

PRISMA CLIENT

  • 更新和删除多条记录:createdAt_lte: "2018"2018年之前
  • createdAt_gt:2017:大于2017
  • createdAt_lt: "2019":小于2019
  • prisma playground命令