0


更适合中国宝宝的入门级Prisma教程

文章目录

写在前面:不知道大家在写后端/全栈项目(作者主前端)的时候,有没有因为需要写数据库的相关代码感觉很头疼。其实不是不会写相关的代码,而是觉得很长、可读性差、很麻烦。因此我急迫需要一个好用的工具来让我在我的练习项目中简化我与数据库交互的过程。

本文是在

Next

的项目中使用的示例,也就是说比较适合有一定基础的

前端

或者是

Node

伙伴来学习,当然我认为后端的小伙伴看完之后也会领略

Prisma

带给我们的便利,好了,话不多说,我们现在开始!

Prisma是干什么的

Prisma

是一个现代化的数据库工具,用于简化与数据库交互。它提供了一个类型安全的

ORM(对象关系映射)

,允许开发者通过类型化的方式定义数据库模型,并生成与数据库通信的代码,从而使数据库操作更加高效和可靠。

Prisma的使用场景

  • 当你需要构建一个需要与数据库频繁交互的现代Web应用时,Prisma提供了高效的数据库查询和管理工具。
  • 如果你希望在数据库查询中获得类型安全,避免因拼写错误或类型错误导致的运行时错误,Prisma提供了强大的类型生成功能。

说的好理解一点,他就是你项目独一无二的

伪数据库

(实则不是这样的,但是方便理解)

Prisma的优势

  1. 类型安全:使用TypeScript的类型定义,Prisma可以提供类型安全的数据库操作,减少运行时错误并提高开发效率。
  2. 自动化生成代码:基于 schema.prisma 文件自动生成 Prisma 客户端,使得数据库操作更加简洁和直观。
  3. 直观的数据库迁移:Prisma的迁移工具允许你轻松地管理数据库schema的变更,并确保数据库和代码的同步。
  4. 简洁的查询语法:使用Prisma的查询API,可以用简洁的代码进行复杂的数据库查询和操作。
  5. 高性能:Prisma生成的查询是高度优化的,能够有效地处理大型和复杂的数据库操作。

Prisma的使用(这才是重点!)

在使用之前推荐下载Vscode中的官方插件

Prisma

,插件会在特定的文件中提供代码高亮以及相关提示词

请添加图片描述

以下的使用均基于

Nextjs

,但是我希望大伙知道,这东西和前后端很多流行框架都是无缝结合的

安装CLI

官方推荐在本地中安装

Prisma

,避免全局安装时可能发生的版本冲突

pnpminstall prisma --save-dev

初始化项目

pnpm dlx prisma init

我们初始化后,

Prisma

会自动创建一个基础的

.env

/prisma/schema.prisma
  1. .env

环境变量,不多bb

  1. /prisma/schema.prisma

我们所谓的内容基本都写在这里面

配置环境

这里我为了方便使用的是

Neon

的云数据库,实际使用本地数据库的话,将这个

连接信息

更换即可

请添加图片描述

开始创作

配置代码生成和数据库连接

这里要说的是我们在初始化

Prisma

后,在

/prisma/schema.prisma

下生成的内容:

请添加图片描述

  1. datasource db:配置块用于定义Prisma应该连接到哪个数据库 - provider:指定数据库的类型(五大数据库类型都可以)- url:确保与.env中的名头一致
  2. generator client:定义Prisma生成什么样的客户端代码(后面细说)

模型编写

Prisma

使用特定的语言来描述数据模型和数据库结构,换种简单的方式理解,我更愿称它为

SQL

伪代码

先来一个小Model:

model User {
  id    Int     @id @default(autoincrement())
  email String  @unique
  name  String?
}

翻译成

SQL

为:

CREATETABLEUser(
  id SERIALPRIMARYKEY,
  email VARCHAR(255)UNIQUENOTNULL,
  name VARCHAR(255))

我们简单聊一下几个常见注解(不想看的可以直接跳过):

  1. @id:定义主键
  2. @unique: 添加唯一约束
  3. @relation: 通常用于多对一或一对多的关系
  4. @default(): 设置默认字段 - @default(uuid()): 默认值为随机生成的uuid- @default(now()): 默认值为当前时间戳- @default(autoincrement()): 默认值为自增的数字

导出使用

pnpm prisma generate

我们执行上述命令后,控制台会像下面这样:

请添加图片描述

生成的

Prisma

客户端代码会放在

node_modules/@prisma/client

目录下,你可以在代码中导入并且更加方便的对我们的数据库进行相关的

CRUD

操作

如何使用

Prisma

进行

CRUD

操作呢?请待下期分晓hhh

更新数据库

无论你使用的是本地还是云端的数据库,你一定不希望在你一顿操作猛如虎后,数据没有被你成功“操作”。

当然不要傻乎乎的觉得我们前面已经配置好环境了,我们写的每一行代码都会无差别的在数据库中更新,我们需要人为去强行将本地或是云端的数据库与我们项目中的

Prisma schema

进行同步。

pnpm prisma db push

如果上面你成功配置好环境并且正确的在

Prisma

中将其与你的数据库连接后,那么恭喜你,你可以在数据库中看到自己定义的内容了qwq

附上

Prisma的官网网站(英文)

Prisma的官方网站(中文)

中文的给人的感觉就是机翻,很水,建议有能力的小伙伴看英文的网站,非常全面!

后续我会继续更新

Prisma

的知识,如果你觉得这篇文章对你有帮助,希望你可以留下一个免费的赞做为对我的鼓励,谢谢各位帅哥美女!


本文转载自: https://blog.csdn.net/m0_73850058/article/details/140389443
版权归原作者 tabzzz 所有, 如有侵权,请联系我们删除。

“更适合中国宝宝的入门级Prisma教程”的评论:

还没有评论