diff --git a/apps/orchestrator/Dockerfile b/apps/orchestrator/Dockerfile index c6f71b1..d8c929c 100644 --- a/apps/orchestrator/Dockerfile +++ b/apps/orchestrator/Dockerfile @@ -21,7 +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/ -# (API prisma schema is copied in builder stage directly into orchestrator/prisma/) +# API schema is available via apps/orchestrator/prisma/schema.prisma symlink # Copy npm configuration for native binary architecture hints COPY .npmrc ./ @@ -47,11 +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 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 +# apps/orchestrator/prisma/schema.prisma is a symlink → ../../api/prisma/schema.prisma +# Docker COPY follows symlinks, so the schema file is already present after +# "COPY apps/orchestrator ./apps/orchestrator" above. +# pnpm turbo build runs prisma:generate first (which uses --schema=./prisma/schema.prisma) +# from within the orchestrator package — no cross-package project-root issues. # Build the orchestrator app using TurboRepo RUN pnpm turbo build --filter=@mosaic/orchestrator diff --git a/apps/orchestrator/package.json b/apps/orchestrator/package.json index 986228d..29490ea 100644 --- a/apps/orchestrator/package.json +++ b/apps/orchestrator/package.json @@ -7,7 +7,7 @@ "dev": "nest start --watch", "lint": "eslint src/", "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:debug": "nest start --debug --watch", "start:dev": "nest start --watch", @@ -52,8 +52,5 @@ "tsconfig-paths": "^4.2.0", "typescript": "^5.8.2", "vitest": "^4.0.18" - }, - "prisma": { - "schema": "prisma/schema.prisma" } } diff --git a/apps/orchestrator/prisma/schema.prisma b/apps/orchestrator/prisma/schema.prisma new file mode 120000 index 0000000..428dc8f --- /dev/null +++ b/apps/orchestrator/prisma/schema.prisma @@ -0,0 +1 @@ +../../api/prisma/schema.prisma \ No newline at end of file