下一代orm prisma

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 访问数据库

  1. 生成 Prisma 客户端
npm install @prisma/client
prisma generate
  1. 使用 Prisma 客户端向数据库发送查询
import { PrismaClient } from '@prisma/client'

const prisma = new PrismaClient()
  1. 调用查询语句进行查询
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
  1. 手动调整您的Prisma 数据模型
  2. prisma migrate dev使用CLI 命令迁移开发数据库
  3. 在应用程序代码中使用 Prisma Client 来访问您的数据库。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容