美文网首页js css html
下一代orm prisma

下一代orm prisma

作者: 追梦人在路上不断追寻 | 来源:发表于2022-12-08 23:13 被阅读0次

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 来访问您的数据库。

相关文章

网友评论

    本文标题:下一代orm prisma

    本文链接:https://www.haomeiwen.com/subject/ldsofdtx.html