Limit Prisma generation in CI

This commit is contained in:
Janpeter Visser 2026-04-25 17:17:35 +02:00
parent 4ec0683f88
commit 8e299915a8
5 changed files with 12 additions and 7 deletions

View file

@ -25,7 +25,7 @@ jobs:
run: npm ci run: npm ci
- name: Generate Prisma client - name: Generate Prisma client
run: npx prisma generate run: npx prisma generate --generator client
- name: Lint - name: Lint
run: npm run lint run: npm run lint

View file

@ -122,7 +122,9 @@ npx prisma db push
npm run db:erd npm run db:erd
``` ```
Deze command voert `prisma generate` uit. Daardoor worden zowel de Prisma Client als `docs/erd.svg` opnieuw opgebouwd. Deze command voert lokaal `prisma generate` uit. Daardoor worden zowel de Prisma Client als `docs/erd.svg` opnieuw opgebouwd.
In CI en deployment wordt bewust alleen de Prisma Client gegenereerd met `prisma generate --generator client`. Het ERD-diagram gebruikt Mermaid/Puppeteer en wordt daarom niet in GitHub Actions of Vercel gegenereerd.
5. Seed testdata indien nodig: 5. Seed testdata indien nodig:
@ -139,7 +141,7 @@ npm run dev
![ERD](./docs/erd.svg) ![ERD](./docs/erd.svg)
De databasevisualisatie wordt gegenereerd uit `prisma/schema.prisma` via `prisma-erd-generator`. De databasevisualisatie wordt lokaal gegenereerd uit `prisma/schema.prisma` via `prisma-erd-generator`.
Handmatige generatie: Handmatige generatie:
@ -149,7 +151,7 @@ npm run db:erd
Tijdens lokale development draait `npm run dev` naast Next.js ook `npm run db:erd:watch`. Bij wijzigingen in `prisma/schema.prisma` wordt `docs/erd.svg` automatisch opnieuw gegenereerd. Tijdens lokale development draait `npm run dev` naast Next.js ook `npm run db:erd:watch`. Bij wijzigingen in `prisma/schema.prisma` wordt `docs/erd.svg` automatisch opnieuw gegenereerd.
Gebruik `npx prisma db push` alleen om het schema naar de database te synchroniseren. Gebruik `npm run db:erd` om Prisma Client en de ERD te genereren. Gebruik `npx prisma db push` alleen om het schema naar de database te synchroniseren. Gebruik `npm run db:erd` om lokaal Prisma Client en de ERD te genereren. Gebruik in CI uitsluitend `npx prisma generate --generator client`.
De app draait standaard op `http://localhost:3000`. De app draait standaard op `http://localhost:3000`.

View file

@ -60,14 +60,17 @@ generator erd {
- Prisma Client in `node_modules/@prisma/client` - Prisma Client in `node_modules/@prisma/client`
- het ERD-diagram in `docs/erd.svg` - het ERD-diagram in `docs/erd.svg`
Gebruik volledige `prisma generate` alleen lokaal. De ERD-generator gebruikt Mermaid/Puppeteer en mag niet in CI of Vercel draaien.
## Commands ## Commands
| Command | Gebruik | | Command | Gebruik |
|---|---| |---|---|
| `npx prisma db push` | Schema synchroniseren naar de database | | `npx prisma db push` | Schema synchroniseren naar de database |
| `npx prisma db seed` | Seeddata laden | | `npx prisma db seed` | Seeddata laden |
| `npx prisma generate --generator client` | Alleen Prisma Client genereren; gebruiken in CI/deployment |
| `npm run db:erd` | `prisma generate`: Prisma Client en `docs/erd.svg` genereren | | `npm run db:erd` | `prisma generate`: Prisma Client en `docs/erd.svg` genereren |
| `npm run db:erd:watch` | `prisma/schema.prisma` watchen en ERD opnieuw genereren | | `npm run db:erd:watch` | `prisma/schema.prisma` watchen en ERD opnieuw genereren |
| `npm run dev` | Next.js dev server plus ERD watcher starten | | `npm run dev` | Next.js dev server plus ERD watcher starten |
Belangrijk: `db push` schrijft naar de database, maar genereert geen ERD. Gebruik na schemawijzigingen `npm run db:erd` of laat `npm run dev` de watcher draaien. Belangrijk: `db push` schrijft naar de database, maar genereert geen ERD. Gebruik na schemawijzigingen lokaal `npm run db:erd` of laat `npm run dev` de watcher draaien. Gebruik in CI en deployment alleen `npx prisma generate --generator client`.

View file

@ -770,7 +770,7 @@ NODE_ENV="development"
**CI/CD:** GitHub Actions → lint + typecheck + `prisma validate` op elke PR; Vercel deploy automatisch bij merge naar `main` **CI/CD:** GitHub Actions → lint + typecheck + `prisma validate` op elke PR; Vercel deploy automatisch bij merge naar `main`
**Database (cloud):** Neon — migraties via `prisma migrate deploy` in de Vercel build-stap **Database (cloud):** Neon — migraties via `prisma migrate deploy` in de Vercel build-stap
**Database (lokaal):** Neon (gratis tier) — `npx prisma db push` synchroniseert schema **Database (lokaal):** Neon (gratis tier) — `npx prisma db push` synchroniseert schema
**Prisma generatie:** `npm run db:erd` voert `prisma generate` uit en bouwt zowel Prisma Client als `docs/erd.svg` **Prisma generatie:** CI/deployment gebruikt `prisma generate --generator client`; `npm run db:erd` is alleen lokaal en bouwt ook `docs/erd.svg`
**Seeding:** `npx prisma db seed` laadt de testdata uit het Product Backlog document **Seeding:** `npx prisma db seed` laadt de testdata uit het Product Backlog document
### Deployment checklist (pre-launch) ### Deployment checklist (pre-launch)

View file

@ -10,7 +10,7 @@
"test": "vitest run", "test": "vitest run",
"test:watch": "vitest", "test:watch": "vitest",
"prepare": "husky", "prepare": "husky",
"postinstall": "prisma generate", "postinstall": "prisma generate --generator client",
"db:erd": "prisma generate", "db:erd": "prisma generate",
"db:erd:watch": "chokidar \"prisma/schema.prisma\" -c \"npm run db:erd\"" "db:erd:watch": "chokidar \"prisma/schema.prisma\" -c \"npm run db:erd\""
}, },