prisma
prisma 是新一代的orm系统,它主要有三部分组成。
23dc26d29c8a463dc539ea5247acc994_CTGhQZ9.png- Prisma 客户端:自动生成和类型安全的 Node.js 和 TypeScript 查询构建器
- Prisma Migrate:迁移系统
- Prisma Studio:用于查看和编辑数据库中数据的 GUI
prisma 模式
01d9cc83d62f72d21e28b1727605d625_kyVLwr8.png每个使用 Prisma 工具包中的工具的项目都以Prisma 模式文件开始。Prisma 模式允许开发人员以直观的数据建模语言定义他们的应用程序模型。它还包含与数据库的连接并定义生成器。
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}
generator client {
provider = "prisma-client-js"
}
model Post {
id Int @id @default(autoincrement())
title String
content String?
published Boolean @default(false)
author User? @relation(fields: [authorId], references: [id])
authorId Int?
}
model User {
id Int @id @default(autoincrement())
email String @unique
name String?
posts Post[]
}
Prisma 数据模型
数据模型的主要功能是
- 表示关系数据库中的表或 MongoDB 中的集合
- 为 Prisma Client API 中的查询提供基础
使用 Prisma Client 访问数据库
- 生成 Prisma 客户端
npm install @prisma/client
prisma generate
- 使用 Prisma 客户端向数据库发送查询
import { PrismaClient } from '@prisma/client'
const prisma = new PrismaClient()
- 调用查询语句进行查询
const allUsers = await prisma.user.findMany({
include: { posts: true },
})
// Run inside `async` function
const filteredPosts = await prisma.post.findMany({
where: {
OR: [
{ title: { contains: 'prisma' } },
{ content: { contains: 'prisma' } },
],
},
})
Prisma 迁移
image.png- 手动调整您的Prisma 数据模型
-
prisma migrate dev
使用CLI 命令迁移开发数据库 - 在应用程序代码中使用 Prisma Client 来访问您的数据库。
网友评论