什么是 Prisma Schema?
schema.prisma 是 Prisma 项目的核心配置文件,它描述了数据库连接、Prisma Client 的生成方式以及所有的数据模型。开发者通过修改 Schema,而不是直接编写 SQL,即可完成数据库建模。
Schema 的组成
三个核心模块
generator
配置 Prisma Client 的生成方式。
datasource
配置数据库类型和连接地址。
model
定义数据库中的数据模型。
schema.prisma
prisma
generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}
model User {
id Int @id @default(autoincrement())
name String
email String @unique
}generator
generator 用于指定 Prisma Client 的生成器。默认情况下 provider 为 prisma-client-js,每次执行 prisma generate 后都会自动生成类型安全的数据库客户端。
schema.prisma
prisma
generator client {
provider = "prisma-client-js"
}datasource
datasource 用于描述数据库类型以及连接地址。Prisma 支持 PostgreSQL、MySQL、SQLite、SQL Server、CockroachDB 和 MongoDB 等多种数据库。
schema.prisma
prisma
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}Model
Model 用于定义数据库中的表,每一个 Model 都会映射为数据库中的一张表。字段会自动映射为数据表中的列,同时支持索引、默认值、唯一约束以及关系定义。
schema.prisma
prisma
model User {
id Int @id @default(autoincrement())
name String
email String @unique
createdAt DateTime @default(now())
}Model 常见组成
@id
定义主键。
@default
设置默认值。
@unique
创建唯一索引。
@relation
建立模型之间的关联关系。
修改 Schema 后需要做什么?
每次修改 schema.prisma 后,都需要重新生成 Prisma Client。如果模型发生变化,还需要执行数据库迁移,让数据库结构与 Schema 保持一致。
terminal
bash
npx prisma generate
npx prisma migrate dev下一步学习
Model 深入解析
学习字段、索引、约束及映射规则。
Prisma 数据类型
深入了解 Int、String、Boolean、DateTime、Json 等类型。
相关笔记
在数字化一期,此笔记未产生更深相关的共鸣分枝。