Prisma
prisma 官网
node 项目中引入 prisma 和初始化
创建一个 node 项目
mkdir prisma && cd prisma && pnpm init -y
引入 prisma
pnpm i prisma -D
初始化一个使用 sqlite 的 prisma
npx prisma init --datasource-provider sqlite
这时,你可以看到该项目中有一个 prisma 文件夹和一个.env
schema.prisma
.env
如果你使用 vscode 作为开发工具的话可以下载
插件让 text https://marketplace.visualstudio.com/items?itemName=Prisma.prisma文件有高亮和格式化功能。 text .prisma
此时schema.prisma
// This is your Prisma schema file,
// learn more about it in the docs: https://pris.ly/d/prisma-schema
generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "sqlite"
url = env("DATABASE_URL")
}
知识点
标识当前使用的数据库是text provider = "sqlite"
text sqlite
标识当前项目是 js 项目text provider = "prisma-client-js"
标识当前项目数据库文件地址text url = env("DATABASE_URL")
prisma 中的模型创建
以一个用户表来进行演示
model User{
id Int @id @default(autoincrement())
name String?
email String @unique
nickName String @default("") @map("nick_name")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
@@map("users")
}
上面这段代码表示:创建一个 User 模型,其中包含的字段有:
- 一个 id ,整型自动递增
- 一个可选的 name
- 一个唯一值的 email
知识点
- prisma 中创建模型使用关键字
text model
- 标识一个字段为 id 使用
text @id
- 设置非必填字段使用
text ?
- 给该字段一个默认值使用
text @default("") - 给字段名在数据库中重新命名使用
text @map("") - 给一个模型在数据库中重新命名使用
text @@map("")
prisma 文件中所有引号需要使用双引号
text ""
使用 prisma studio 查看创建好的数据库
npx prisma studio
数据库迁移
创建好表结构定义后,执行 npx prisma migrate dev
prisma/migrations
npx prisma migrate dev
此条命令动作为:根据定义生成迁移文件->执行新的迁移文件修改表 -> 生成 Prisma Client
重置数据库
npx prisma migrate reset
此条命令动作为:删除数据库->创建同名数据库->执行所有迁移文件->运行 seed 数据填充

评论区
评论加载中...