Prisma Migration
Instructions
Create or update the Prisma schema and generate migrations based on docs/entity_model.md.
DO NOT
- Manually write SQL migration files (use
npx prisma migrate devto generate them) - Drop existing tables or models without explicit user confirmation
- Skip relations defined in the entity model
- Use
autoincrement()unless the entity model explicitly requires it (preferuuid()orcuid()for IDs)
Nexa Rules Gate
Read and follow ${CLAUDE_PLUGIN_ROOT}/shared/readiness/NEXA_RULES_GATE.md.
Worktree Gate
Read and follow ${CLAUDE_PLUGIN_ROOT}/shared/readiness/WORKTREE_GATE.md.
Schema Location
prisma/schema.prisma
Example Schema
model RoomType {
id String @id @default(cuid())
name String @unique @db.VarChar(50)
description String? @db.VarChar(500)
capacity Int
price Decimal @db.Decimal(10, 2)
rooms Room[]
@@map("room_type")
}
model Room {
id String @id @default(cuid())
number String @unique @db.VarChar(10)
roomType RoomType @relation(fields: [roomTypeId], references: [id])
roomTypeId String @map("room_type_id")
reservations Reservation[]
@@map("room")
}
Workflow
- Read
docs/entity_model.md - Read the existing
prisma/schema.prismaif it exists - Create or update Prisma models with fields, types, relations, and constraints
- Map entity model validation rules to Prisma attributes (
@unique,@db.*,@default, etc.) - Ensure relations match the entity model (one-to-many, many-to-many, etc.)
- Run
npx prisma migrate dev --name <descriptive_name>to generate the migration - Validate the migration:
- Verify all entities from the entity model have corresponding models
- Verify all relations are bidirectional where needed
- Verify field types and constraints match the entity model
- Verify the generated SQL migration is correct