fix: dedicated migrator stage for payload migrate

Build stage runs pnpm build which changes ESM resolution context.
New migrator stage has deps+src only — clean env for tsx/payload migrate.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Vadym Samoilenko 2026-02-23 14:04:34 +00:00
parent ecc2c94e5f
commit 1348188a6c
2 changed files with 7 additions and 1 deletions

View file

@ -18,6 +18,12 @@ ENV WATCHPACK_POLLING=true
EXPOSE 3000
CMD ["pnpm", "dev"]
# --- Migrator (deps + src only, no Next.js build — used for pnpm payload migrate) ---
FROM base AS migrator
COPY --from=deps /app/node_modules ./node_modules
COPY . .
CMD ["pnpm", "payload", "migrate"]
# --- Build ---
FROM base AS build
COPY --from=deps /app/node_modules ./node_modules

View file

@ -15,7 +15,7 @@ services:
migrator:
build:
context: .
target: build
target: migrator
command: pnpm payload migrate
env_file:
- .env.production