Limit Prisma generation in CI
This commit is contained in:
parent
4ec0683f88
commit
8e299915a8
5 changed files with 12 additions and 7 deletions
2
.github/workflows/ci.yml
vendored
2
.github/workflows/ci.yml
vendored
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
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`.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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`.
|
||||||
|
|
|
||||||
|
|
@ -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)
|
||||||
|
|
|
||||||
|
|
@ -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\""
|
||||||
},
|
},
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue