Prisma初探
2023-8-22
| 2023-12-27
字数 1737阅读时长 5 分钟
beizhu
type
Post
status
Published
date
Aug 22, 2023
slug
summary
Prisma是一款现代化的ORM框架,它可以连接到多种数据库类型(如PostgreSQLMySQLSQLiteSQL Server),提供高效、类型安全和易于使用的API,从而方便地操作和管理数据库。它的作用是帮助开发人员快速构建可扩展、高性能的数据库应用程序,同时减少手写底层SQL代码的工作量。
tags
建站
category
技术
icon
password
Prisma是一款现代化的ORM框架,它可以连接到多种数据库类型(如PostgreSQLMySQLSQLiteSQL Server),提供高效、类型安全和易于使用的API,从而方便地操作和管理数据库。它的作用是帮助开发人员快速构建可扩展、高性能的数据库应用程序,同时减少手写底层SQL代码的工作量。
 
 
 

Starter

首先通过命令创建一个Nextjs项目
安装Prisma
初始化prisma设置
执行完后,多了个配置文件prisma/schema.prisma.env文件,内容如下
其中datasource代表数据源
 
 
 
 
 
notion image

Prisma schema

Prisma schema 文件(简写:schema filePrisma schema 或 schema)是你的 Primsa 组织结构中主要的配置文件。它通常被命名为 schema.prisma,其中包含以下几部分:
  • 数据源:指明 Prisma 连接的数据源的细节 (例如一个 PostgreSQL 数据库)
  • 生成器:指明基于数据模型生成的客户端 (例如 Prisma Client)
 
 
 

开始使用 Prisma Migrate

Prisma Migrate 是 Prisma 的数据库迁移工具,用于管理和执行数据库模式的变更。它允许你在开发过程中更改数据库模型,而不会丢失数据或手动执行 SQL 脚本。
以下是 Prisma Migrate 的主要功能和特点:
  1. 数据库迁移历史管理:Prisma Migrate 通过创建和管理迁移历史来跟踪数据库模式的变更。每个迁移代表一个数据库模式更改的单元,例如创建新表、更改列、添加索引等。
  1. 自动迁移:Prisma Migrate 支持自动迁移功能,可以自动生成和应用迁移脚本。当你对数据库模型进行更改时,Prisma Migrate 会分析模型差异,并自动生成相应的迁移脚本。你可以使用命令来应用这些自动生成的脚本,从而更新数据库。
  1. 手动迁移:除了自动迁移外,Prisma Migrate 也支持手动迁移。你可以手动编写和编辑迁移脚本,以便执行更复杂的数据库模式更改操作。
  1. 安全回滚:Prisma Migrate 允许你回滚已应用的迁移。这是一个非常有用的功能,可以在出现问题时撤销已应用的迁移,并将数据库恢复到原先的状态。
使用 Prisma Migrate 的基本流程如下:
  1. 在 Prisma schema 文件中定义和配置你的数据库模型。
  1. 创建迁移:运行命令创建一个新的迁移,并对应相应的数据库模式更改。
  1. 应用迁移:运行命令来应用迁移,对数据库进行更新。
  1. 备份和回滚:Prisma Migrate 提供命令来备份数据库和回滚已应用的迁移。
总之,Prisma Migrate 提供了一种简单且强大的方式来管理和执行数据库模型的变更,帮助你保持数据库与应用程序开发的同步。它能够自动生成迁移脚本并提供安全的回滚功能,使数据库的维护更加简单和可靠
notion image
 
 

Prisma Studio

Prisma Studio 是数据库中数据的可视化编辑器
notion image
 
 

Prisma Client

Prisma Client 是一个跟据你的数据库 schema 自动生成的定制化数据库客户端 client。默认情况下, Prisma Client 被生成到 node_modules/.prisma/client 文件夹下
  1. 安装@prisma/clientnpm 包:
    1. 使用以下命令生成 Prisma Client:
      每次对 `Prisma schema` 进行更改后,你都需要重新运行命令 **`prisma generate`**去更新生成的 `Prisma Client` 代码。
      💡
      每次对 `Prisma schema` 进行更改后,你都需要重新运行命令 `prisma generate`去更新生成的 `Prisma Client` 代码。
      notion image
      应用程序通常只应当创建 一个PrismaClient 实例。
      长期运行的应用程序中,建议:
      • ✔ 创建一个PrismaClient实例,并在整个应用程序中重复使用它
        • 默认情况下适用默认的池大小(num_physical_cpus * 2 + 1)- 你不需要设置connection_limit参数
      防止热重载创建PrismaClient的新实例
      Next.js这样的框架支持热重载改变的文件,这使你能够在不重启的情况下看到你的应用程序的变化。然而,如果框架刷新了负责导出PrismaClient的模块,这可能会导致开发环境中出现额外的、不需要的PrismaClient实例。
       
       
      其余的就是增删改查,就不细列了
       
    2. 建站
    3. Next.js v14 Server Action抛砖引玉React Server Components
      Loading...