fix(orchestrator): copy schema into orchestrator/prisma/ for local prisma generate
Some checks failed
ci/woodpecker/push/ci Pipeline failed

Prisma was climbing the directory tree to find a project root and landing at
/app/apps/ which has no package.json. Fix: copy the API schema directly into
apps/orchestrator/prisma/schema.prisma and run generate from within the
orchestrator package context using node_modules/.bin/prisma directly.

This keeps prisma generate fully self-contained within the orchestrator package
and avoids all cross-package project-root detection issues.
This commit is contained in:
2026-03-07 09:59:58 -06:00
parent fc4699ca51
commit b5007885ad
2 changed files with 10 additions and 8 deletions

View File

@@ -21,9 +21,7 @@ FROM base AS deps
COPY packages/shared/package.json ./packages/shared/
COPY packages/config/package.json ./packages/config/
COPY apps/orchestrator/package.json ./apps/orchestrator/
# Copy API package.json + prisma schema so prisma generate can find the project root
COPY apps/api/package.json ./apps/api/package.json
COPY apps/api/prisma ./apps/api/prisma
# (API prisma schema is copied in builder stage directly into orchestrator/prisma/)
# Copy npm configuration for native binary architecture hints
COPY .npmrc ./
@@ -49,10 +47,11 @@ COPY --from=deps /app/packages/shared/node_modules ./packages/shared/node_module
COPY --from=deps /app/packages/config/node_modules ./packages/config/node_modules
COPY --from=deps /app/apps/orchestrator/node_modules ./apps/orchestrator/node_modules
# Copy API package.json + prisma schema so Prisma can find the project root
COPY apps/api/package.json ./apps/api/package.json
COPY apps/api/prisma ./apps/api/prisma
RUN pnpm --filter=@mosaic/orchestrator prisma:generate
# Copy API prisma schema into orchestrator's own prisma/ dir.
# Running generate from within the orchestrator package avoids cross-package
# project-root detection issues (Prisma was looking for package.json in /app/apps/).
COPY apps/api/prisma/schema.prisma ./apps/orchestrator/prisma/schema.prisma
RUN cd apps/orchestrator && ./node_modules/.bin/prisma generate --schema=./prisma/schema.prisma
# Build the orchestrator app using TurboRepo
RUN pnpm turbo build --filter=@mosaic/orchestrator

View File

@@ -7,7 +7,7 @@
"dev": "nest start --watch",
"lint": "eslint src/",
"lint:fix": "eslint src/ --fix",
"prisma:generate": "prisma generate --schema=../api/prisma/schema.prisma",
"prisma:generate": "prisma generate --schema=./prisma/schema.prisma",
"start": "node dist/main.js",
"start:debug": "nest start --debug --watch",
"start:dev": "nest start --watch",
@@ -52,5 +52,8 @@
"tsconfig-paths": "^4.2.0",
"typescript": "^5.8.2",
"vitest": "^4.0.18"
},
"prisma": {
"schema": "prisma/schema.prisma"
}
}