# Database Migrations

> Manage schema changes with Prisma Migrate.

*Canonical: https://makerkit.dev/docs/nextjs-prisma/database/migrations*

---

Update `packages/database/src/prisma/schema.prisma`, then create/apply a migration:

```bash
pnpm --filter "@kit/database" prisma:generate
pnpm --filter "@kit/database" prisma:migrate
```

This guide is part of the [Database Configuration](./overview) documentation.

## Repo Conventions

Keep examples aligned with the current schema style in this repo:

- ids are explicit `String @id`
- ownership fields use camelCase such as `organizationId`
- migrations live in `packages/database/src/prisma/migrations`

## Example

```prisma
model Project {
  id             String       @id
  name           String
  organizationId String
  createdAt      DateTime

  organization   Organization @relation(fields: [organizationId], references: [id], onDelete: Cascade)
}
```

Then add the reverse relation on `Organization` and run the migration commands above.

## Production

Use `prisma migrate deploy` in CI and production, not `prisma migrate dev`.

## Common Pitfalls

- editing old migration files
- forgetting to commit new migrations
- adding required columns to populated tables without a backfill plan

---

**Next:** [Client →](./client)
