1.全局安装nest
pnpm add -g @nestjs/cli nodemon ts-node
2.创建nest项目
nest new project-name
3.安装依赖
pnpm add prisma-binding ts-node @prisma/client mockjs @nestjs/config class-validator class-transformer argon2 @nestjs/passport passport passport-local @nestjs/jwt passport-jwt lodash multer dayjs express redis @nestjs/throttler mockjs @nestjs/cache-manager cache-manager md5 @casl/prisma @casl/ability
pnpm add -D prisma typescript @types/node @types/mockjs @nestjs/mapped-types @types/passport-local @types/passport-jwt @types/express @types/lodash @types/multer @types/cache-manager @types/md5
4.prisma初始化
npx prisma init
5.配置package.json的prisma
package.json
"prisma": {
"seed": "ts-node prisma/seed.ts"
},
6.配置prisma数据库
进入.env文件
DATABASE_URL="mysql://root:111111@localhost:3306/nesttest"
7.写一些prisma
prisma -> 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
generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "mysql"
url = env("DATABASE_URL")
}
model user {
id Int @id @default(autoincrement()) @db.UnsignedInt
name String @unique
password String
}
model article {
id Int @id @default(autoincrement()) @db.UnsignedInt
title String
content String @db.Text
}
8.同级目录下创建一个seed.ts
里面先不用写东西
9.运行一下prisma
npx prisma migrate dev
Enter a name for the new migration: 写init就行
10.写一点seed.ts
import { PrismaClient } from '@prisma/client';
import { hash } from 'argon2';
import { Random } from 'mockjs';
const prisma = new PrismaClient();
async function run(){
await prisma.user.create({
data:{
name:"admin",
password:await hash("admin888")
}
});
for(let i = 0;i<50;i++){
await prisma.article.create({
data:{
title: Random.ctitle(10,30),
content: Random.cparagraph(30,50)
}
});
}
}
run();
11.重置prisma
npx prisma migrate reset
——————-到这里第一阶段就完成了——————