Compare commits

..

1 Commits

Author SHA1 Message Date
c0e3e39ac5 fix(orchestrator): symlink prisma schema for cross-env generate
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
Create apps/orchestrator/prisma/schema.prisma as a symlink pointing to
../../api/prisma/schema.prisma. This gives the orchestrator 'ownership'
of its local schema copy so Prisma does not traverse into the api package
looking for project-root context.

- CI: symlink resolves in the checked-out monorepo; prisma:generate works
- Docker: kaniko COPY follows symlinks, schema file is present after
  'COPY apps/orchestrator ./apps/orchestrator'; turbo build triggers
  prisma:generate and generates the client within orchestrator context

Revert prisma:generate script to canonical path (./prisma/schema.prisma).
Remove deprecated 'prisma' config key from package.json.
Simplify Dockerfile builder stage (no more manual generate RUN).
2026-03-07 10:17:06 -06:00
2 changed files with 6 additions and 9 deletions

View File

@@ -47,14 +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/packages/config/node_modules ./packages/config/node_modules
COPY --from=deps /app/apps/orchestrator/node_modules ./apps/orchestrator/node_modules COPY --from=deps /app/apps/orchestrator/node_modules ./apps/orchestrator/node_modules
# The repo has apps/orchestrator/prisma/schema.prisma as a symlink for CI use. # apps/orchestrator/prisma/schema.prisma is a symlink → ../../api/prisma/schema.prisma
# Kaniko resolves destination symlinks on COPY, which fails because the symlink # Docker COPY follows symlinks, so the schema file is already present after
# target (../../api/prisma/schema.prisma) doesn't exist in the container. # "COPY apps/orchestrator ./apps/orchestrator" above.
# Fix: remove the dangling symlink first, then copy the real schema file there. # pnpm turbo build runs prisma:generate first (which uses --schema=./prisma/schema.prisma)
RUN rm -f apps/orchestrator/prisma/schema.prisma # from within the orchestrator package — no cross-package project-root issues.
COPY apps/api/prisma/schema.prisma ./apps/orchestrator/prisma/schema.prisma
# pnpm turbo build runs prisma:generate (--schema=./prisma/schema.prisma) from the
# orchestrator package context — no cross-package project-root issues.
# Build the orchestrator app using TurboRepo # Build the orchestrator app using TurboRepo
RUN pnpm turbo build --filter=@mosaic/orchestrator RUN pnpm turbo build --filter=@mosaic/orchestrator

View File

@@ -7,7 +7,7 @@
"dev": "nest start --watch", "dev": "nest start --watch",
"lint": "eslint src/", "lint": "eslint src/",
"lint:fix": "eslint src/ --fix", "lint:fix": "eslint src/ --fix",
"prisma:generate": "prisma generate --schema=./prisma/schema.prisma", "prisma:generate": "prisma generate --schema=../api/prisma/schema.prisma",
"start": "node dist/main.js", "start": "node dist/main.js",
"start:debug": "nest start --debug --watch", "start:debug": "nest start --debug --watch",
"start:dev": "nest start --watch", "start:dev": "nest start --watch",