美文网首页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