npm i express cors dotenv helmet morgan body-parser
// For Prisma client npm i @prisma/client
npm i -D typescript ts-node-dev @types/node @types/express @types/cors @types/helmet prisma
npx tsc --init npx prisma init
-
npx prisma init
Creates a newprisma/
folder withschema.prisma
and.env
. -
npx prisma generate
Generates the Prisma Client (@prisma/client
) based on your schema.
Run this after schema changes (auto-run onmigrate dev
).
-
npx prisma migrate dev --name <migration_name>
Creates a migration file, applies it to the DB, regenerates Prisma Client. -
npx prisma migrate deploy
Applies all pending migrations to the DB. Use in production/staging. -
npx prisma migrate reset
Drops the DB, reapplies all migrations, runs seed script (if defined).⚠️ Dev only. -
npx prisma migrate status
Shows which migrations are applied, pending, or failed. -
npx prisma migrate dev --create-only --name <migration_name>
Creates migration SQL without applying it (for manual edits).
-
npx prisma db push
Pushes the schema directly to the DB (no migrations). Best for prototyping. -
npx prisma db pull
Introspects an existing DB → updatesschema.prisma
with models.
-
npx prisma studio
Opens Prisma Studio (GUI to view & edit data). -
npx prisma validate
Validatesschema.prisma
. -
npx prisma format
Auto-formatsschema.prisma
.
npx prisma db seed
Runs your seed script to insert initial/test data.
- Initialize Prisma
npx prisma init
npx prisma migrate dev --name add_user_table
import { PrismaClient } from '@prisma/client'
const prisma = new PrismaClient()
npx prisma migrate deploy
npx prisma studio
tablename:true
role:{ include:{ roleActions:true } }
role:{ select:{ name:true roleActions:{ select:{ action:true } } } }