笔记摘自Prisma官网使用指南Concepts (prisma.io)
- Prisma Client:用于 Node.js 和 TypeScript 的自动生成和类型安全的查询构建器
- Prisma Migrate:迁移系统
- Prisma Studio:用于查看和编辑数据库中数据的GUI系统。
以一种直观地形式定义应用模型的数据定义语言。
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 schema 配置以下三种:
- Data source:指定数据库的连接
- Generator:指定生成Prisma Client
- Data model:定义应用模型
- 手动编写数据模型并使用Prisma Migrate 将其映射到数据库
- 通过自检数据库生成数据模型
使用prisma client
连接数据库。
-
前置依赖
npm install @prisma/client
-
运行命令生成数据模型
prisma generate
,代码默认生成到文件夹node_modules/.prisma/client
. -
代码使用
import { PrismaClient } from '@prisma/client' const prisma = new PrismaClient()
数据库还没架构(建表之类的),代码生成相应的架构。
- 手动调整Prisma数据模型
- 使用 CLI 命令迁移开发数据库
prisma migrate dev
- 在应用程序代码中使用Prisma Client访问数据库
更多:
已有数据库架构(建好表了之类的),根据数据库的架构生成Prisma schema、Prisma client。
出于某些原因不想使用 Prisma Migrate,可以使用自检的方式从数据库架构(database schema)更新 Prisma Client。
- 使用SQL或三方工具调整数据库架构
- 自检或重新自检数据库
- 可选的调整 Prisma Client 的API)
- 生成或重新生成 Prisma Client
- 在应用中使用 Prisma Client 访问数据库
更多: