1、prisma 可以看做是一个 ORM。
安装 prisma npm install prisma -D
初始化 prisma , 并设置要链接的数据库
npx prisma init --datasource-provider sqlite
--datasource-provider + 要使用的数据库
2、prisma 中的模型,
表示底层数据库中的表或者集合。
生成 Prisma Client API 的基础
通过使用 prisma migrate
(迁移)经模型映射到数据库表当中。此命令不适用于 mongodb 数据库。目前仅支持关系数据库。
3、prisma studio 是 prisma 的 数据库图形化界面,可以查看和编辑数据库。
npx prisma studio
4、如果选择非关系型数据库 mongodb, model 里的 ID 字段,名称必须为 _id , 且必须映射为 @map(“id”)
id String @id @default(auto()) @map("_id") @db.ObjectId
5、安装 prisma 客户端
npm install @prisma/client
每当更新 Prisma 模式时,都需要运行命令prisma db push来创建新索引并重新生成 Prisma Client。
安装@prisma/client包会调用该prisma generate命令,该命令会读取您的 Prisma 模式并生成Prisma 客户端代码。代码默认生成到文件夹中node_modules/.prisma/client。
更改数据模型后,您需要手动重新生成 Prisma Client 以确保node_modules/.prisma/client更新其中的代码:
prisma generate
一旦更改了 .env 文件,执行 pnpx prisma db push
来更新 prisma/client
prisma client 只负责向数据库发送查询
6、prisma client 常见的数据访问 api
Prisma client 工作示意
schema.prisma
由数据源、生成器、和数据模型定义三部分组成
当想 自定义 prisma 模式文件名称时,在使用 prisma generate
命令生成 prisma 客户端时,需要携带参数指明 文件路径。
model 的命名通常是大驼峰且是单数形式,如果你想最后生成的集合是 小驼峰和复数的形式,则可以 用 @@map('comments')
使用 mongodb 数据库
当在 prisma 中使用 mongodb 数据库时,需要将 mongodb 进行副本集部署。如果连接的是本地运行的 mongodb, 在使用 prisma client 进行写入时会报错。官方推荐使用:
mongodb atlas
https://www.mongodb.com/docs/atlas/getting-started/
使用 mongodb ,在定义模型时, _id 必须为一个 ObjectID
id String @id @default(auto()) @map("_id") @db.ObjectId
使用 mongodb 时, 不支持 Prisma Migrate 命令,不支持 @@id 和 autoincrement()