手把手实践入门Prisma - 面向Prisma初学者
https://www.bilibili.com/video/BV1UM4y1T7QF/?spm_id_from=333.337.search-card.all.click
git clone https://gitee.com/baasapi-admin/prisma-workshop.git


npm install

datasource db {
provider = "sqlite"
url = "file:./dev.db"
}
generator client {
provider = "prisma-client-js"
}
model User {
id Int @id @default(autoincrement())
name String?
email String @unique
}
//@id是“主键(Primary Key)”

npx prisma migrate dev --name init解释:
1.创建数据库dev.db
2.创建数据表user
3.自动生成 Prisma Client
4.生成 migration 文件,里面类似:202605231601_init/
5.--name init 给这次迁移起名字,prisma/migrations/20260523xxxx_init/
![]()
|
![]() |
npm prisma studio


...
async function main() {
// ... you will write your Prisma Client queries here
const result= await prisma.user.findMany();
console.log(result);
}
...会出现卡死的情况。
原因:git clone的项目太老了,2021年的项目,现在是2026年,node.js是22版本,所以和原来的Prisma版本有冲突。
解决:安装Prisma6版本
1. 删除 node_modules
rd /s /q node_modules2 .删除 package-lock.json
del package-lock.json3.重新安装依赖
npm install4.安装prisma6的版本,7版本改动有点大,和教程不匹配
npm install prisma@6 @prisma/client@65.执行代码生成器
npx prisma generate6.运行代码
npm run dev7.效果图

//script.ts
...
async function main() {
// ... you will write your Prisma Client queries here
//const result= await prisma.user.findMany();
const result=await prisma.user.create({
data:{
email:'victor@bassapi.com'
}
})
console.log(result);
}
...执行
npm run dev
//script.ts
...
const result=await prisma.user.update({
where:{
email:'victor@bassapi.com'
},
data:{
name:'victor'
}
})
console.log(result);
...
//scheme.prisma文件
datasource db {
provider = "sqlite"
url = "file:./dev.db"
}
generator client {
provider = "prisma-client-js"
}
model User {
id Int @id @default(autoincrement())
name String?
email String @unique
posts Post[]
}
model Post {
id Int @id @default(autoincrement())
title String
content String?
published Boolean @default(false)
authorId Int?
author User? @relation(fields: [authorId], references: [id])
}

※ 注意:posts Post[]
※ posts是“关系字段(relation field)”,不是普通的数据库字段
※ 注意:author User? @relation(fields: [authorId], references: [id])
※ author是“关系字段(relation field)”,不是普通的数据库字段
npx prisma migrate dev --name add-post
...
const result=await prisma.post.create({
data:{
title:'Hello World'
}
})
console.log(result);
...终端运行
npm run dev