Skip to content
CodeSook
CodeSook

09. Prisma Client


Generate typescript types

prisma ได้เตรียม client มาให้เราเรียบร้อยแล้ว ซึ่ง client นี้ supported typescript ด้วย

แต่ว่าเราต้อง Generate มันออกมาก่อน ด้วย script ที่เราใส่ไว้แล้วใน package.json

generating types from schema
pnpm prisma:generate

หรือถ้าจะเอาคำสั่งของ prisma เลยก็ตามนี้

generating types from schema
pnpm prisma generate

คำสั่งด้านบนจะไป generate typescript type ให้เรา โดยจะเอาไปเก็บไว้ที่ folder

node_modules/.pnpm/@[email protected][email protected]/node_modules/.prisma/client/index.d.ts

สร้าง prisma client กัน

ตาม Layered architecture ที่เราได้วางไว้ prisma client จะแทน repository ได้เลย

Update Arch
┌─────────────────┐
Presentation (Controllers/Routes)
├─────────────────┤
Business (Services)
├─────────────────┤
Data (Repositories) <- Prisma Client
└─────────────────┘
repositories/prisma.ts
repositories/prisma.ts
import { PrismaClient } from "@prisma/client"
const prismaClient = new PrismaClient()
export default prismaClient
types folder
src
├── configure/
├── controllers/
├── index.ts
├── repositories
│ └── prisma.ts
├── schema/
8 collapsed lines
│ ├── branded.ts
│ ├── employee.ts
│ ├── employeeWithRelations.ts
│ ├── general.ts
│ ├── helpers.ts
│ ├── index.ts
│ ├── overtime.ts
│ └── overtimeWithRelations.ts
├── services/
└── types