以下内容官方文档都有,特此记录便于快速查阅文档。
Prisma CLI 作为开发依赖项安装到项目中
npm install prisma --save-dev
Prisma 配合 ts 很强大,所有我们可以结合 ts 一起使用:
npm install typescript ts-node @types/node --save-dev
npx tsc --init
最后,使用 Prisma CLI 的 init 命令设置 Prisma ORM:
npx prisma init
如果使用 mysql 也可以直接使用模板:
npx prisma init --datasource-provider mysql
然后会根目录下多一个名为 prisma 的新目录,其中包含一个名为 schema.prisma 的文件,该文件包含带有数据库连接变量和架构模型的 Prisma 架构。
一般来说,还需要在项目的根目录中创建 .env 文件,用于定义环境变量(例如您的数据库连接)。
比如:
这里 webstorm 可以安装一个插件 prisma orm 配合使用,提供代码高亮等。
schema.prisma
// This is your Prisma schema file,
// learn more about it in the docs: https://pris.ly/d/prisma-schema
// Looking for ways to speed up your queries, or scale easily with your serverless or edge functions?
// Try Prisma Accelerate: https://pris.ly/cli/accelerate-init
generate client {
provider = "prisma-client-js"
}
datasource db {
provider = "mysql"
url = env("DATABASE_URL")
}
// 编写表结构
// 文章表
model Post {
id Int @id @default(autoincrement())
title String
content String
authorId Int
author User @relation(fields: [authorId], references: [id]) // 关联用户表
}
// 用户表
model User {
id Int @id @default(autoincrement())
username String
password String
posts Post[] // 一对多关联文章表
}
.env
DATABASE_URL="mysql://root:123456@localhost:3306/user"
“mysql://账号:密码:@主机:端口/库名”
然后执行 prisma migrate dev
会自动连库创建表,创建表的语句也会放在 prisma 目录下:
中间需要的 migrate name 随便起,不重要。