一、Prisma
1、Prisma是什么?
prisma 是一个开源的 下一代 ORM,它包含了以下三个部分
- Prisma Client: 自动生成、类型安全的查询构建器,用于 Node.js 和 TypeScript
- Prisma Migrate: 数据迁移系统
- Prisma Studio: 查询和编辑数据库中数据的图形化界面
每次调用prisma命令,CLI 通常会从 schema 文件读取一些信息,例如
prisma generate
: 从 Prisma schema 读取 所有上述信息以生成正确的数据源客户端代码(例如 Prisma Client)。prisma migrate dev
: 读取数据源和数据模型定义以创建一个新的迁移
2、如何在项目中引入prisma
1、先安装prisma
、然后安装 prisma/client
- `npm i prisma -D`
- `npm i @prisma/client `
2、在项目中执行命令 npx prisma init --datasoruce-provider mysql
(mysql是自己用的数据库,如果使用的数据库是sqlite 就改成 provide sqlite);
这个命令会在文件夹根目录生成一个prisma/schema.prisma
文件和一个.env
文件
3、修改schema.prisma
文件和.env
文件,连接数据库
generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "mysql"
url = env("DATABASE_URL")
}
// 这个模型是对应要操作数据库的字段的类型
model image_history_list {
id Int @id @default(autoincrement())
imageUrl String
}
datasource db {
provider = "mysql" // 使用的数据库类型
url = "mysql://johndoe:mypassword@localhost:5432/mydb?connection_limit=5"
}
//用户名:密码@localhost:端口/数据库名字
这里值得注意的是:连接数据库链接的字符串,如果存在特殊符号,则需要使用
**encodeURIComponent()**
进行转义
4、实例化Prisma Client应用
// js
// 在你的应用程序中使用 `prisma` 来读取和写入数据库中的数据
const { PrismaClient } = require('@prisma/client')
const prisma = new PrismaClient()
//ts
// 在你的应用程序中使用 `prisma` 来读取和写入数据库中的数据
import { PrismaClient } from '@prisma/client'
const prisma = new PrismaClient()
// 在你的应用程序中使用 `prisma` 来读取和写入数据库中的数据
重要提示:每次对
prisma schema
进行更改之后。你都需要重新运行命令prisma generate
去更新生成的 Prisma Client代码