Prisma 与 SQLite
这节要解决什么
搞清 Prisma 是干什么的,以及为什么学习阶段用 SQLite 最省事。
先用大白话
- 数据库:把数据可靠存盘(比写 JSON 文件强壮:查询、关系、并发都更专业)
- SQLite:一个文件就是一座库,不用单独安装数据库服务,特别适合学习
- Prisma:用 schema 描述表结构,再生成 类型友好 的客户端给你在 TS 里调用
类比:
| 概念 | 可以想成 |
|---|---|
schema.prisma | 数据表的设计图 |
prisma migrate | 按设计图改数据库结构 |
prisma.user.create(...) | 类型完备的「插入一行」 |
比手写 SQL 上手快,也比乱拼字符串安全。
对着项目看
主项目:
prisma/schema.prisma ← 模型定义
prisma/dev.db ← SQLite 文件(迁移后生成,勿手改)
src/prisma/prisma.service.ts ← 把 PrismaClient 做成 Nest 可注入服务常用命令(在 03-nest-bookmark-api 目录):
npx prisma migrate dev --name init # 改结构并应用
npx prisma studio # 可视化看数据,超级好用schema 里你会看到
User:用户Bookmark:书签,并userId关联到用户
「一个用户有多个书签」= 一对多关系。这和业务里「只能改自己的书签」强相关。
验收清单
- 知道 SQLite 数据在哪个文件
- 会跑
prisma migrate/prisma studio - 明白 Prisma Client 是「带类型的数据库访问器」
下一节 → 02-CRUD与关系.md