fix(presence-service): generate prisma client in docker production stage
- Move prisma from devDependencies to dependencies so it is available after pnpm install --prod in the Dockerfile production stage - Replace failed COPY of /app/node_modules/.prisma (pnpm virtual store path differs) with: COPY schema.prisma + RUN prisma generate in stage-1 - Only runs if schema.prisma exists (safe for all other services) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
2ac60094bd
commit
ddf221cece
|
|
@ -83,9 +83,13 @@ COPY --from=builder /app/packages/services/${SERVICE_NAME}/dist packages/service
|
|||
# Copy SQL migration templates alongside compiled shared code in each service dist
|
||||
COPY --from=builder /app/packages/shared/database/src/migrations packages/services/${SERVICE_NAME}/dist/shared/database/src/migrations/
|
||||
|
||||
# Copy Prisma generated client (required for services using @prisma/client)
|
||||
# prisma generate runs in builder stage; production pnpm install skips build scripts
|
||||
COPY --from=builder /app/node_modules/.prisma /app/node_modules/.prisma
|
||||
# Copy Prisma schema and generate client if this service uses @prisma/client.
|
||||
# prisma is kept in dependencies so it is available after --prod install.
|
||||
ARG SERVICE_NAME
|
||||
COPY --from=builder /app/packages/services/${SERVICE_NAME}/prisma packages/services/${SERVICE_NAME}/prisma/
|
||||
RUN test -f packages/services/${SERVICE_NAME}/prisma/schema.prisma && \
|
||||
cd packages/services/${SERVICE_NAME} && \
|
||||
node_modules/.bin/prisma generate --schema prisma/schema.prisma || true
|
||||
|
||||
WORKDIR /app/packages/services/${SERVICE_NAME}
|
||||
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@
|
|||
"date-fns": "^2.30.0",
|
||||
"date-fns-tz": "^2.0.1",
|
||||
"ioredis": "^5.3.0",
|
||||
"prisma": "^5.9.0",
|
||||
"reflect-metadata": "^0.2.0",
|
||||
"rxjs": "^7.8.0",
|
||||
"uuid": "^9.0.0"
|
||||
|
|
@ -32,7 +33,6 @@
|
|||
"@nestjs/cli": "^10.3.0",
|
||||
"@types/express": "^4.17.21",
|
||||
"@types/node": "^20.11.0",
|
||||
"prisma": "^5.9.0",
|
||||
"typescript": "^5.4.0"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -721,6 +721,9 @@ importers:
|
|||
ioredis:
|
||||
specifier: ^5.3.0
|
||||
version: 5.9.2
|
||||
prisma:
|
||||
specifier: ^5.9.0
|
||||
version: 5.22.0
|
||||
reflect-metadata:
|
||||
specifier: ^0.2.0
|
||||
version: 0.2.2
|
||||
|
|
@ -740,9 +743,6 @@ importers:
|
|||
'@types/node':
|
||||
specifier: ^20.11.0
|
||||
version: 20.19.33
|
||||
prisma:
|
||||
specifier: ^5.9.0
|
||||
version: 5.22.0
|
||||
typescript:
|
||||
specifier: ^5.4.0
|
||||
version: 5.9.3
|
||||
|
|
|
|||
Loading…
Reference in New Issue