From b0e58f6b899787f332ad6d07bc67a8afff09839b Mon Sep 17 00:00:00 2001 From: phaichayon Date: Fri, 17 Jul 2026 00:21:14 +0700 Subject: [PATCH] migrate --- Dockerfile.migrator | 45 +++++++++++++++++++++++++++++++++++++-------- 1 file changed, 37 insertions(+), 8 deletions(-) diff --git a/Dockerfile.migrator b/Dockerfile.migrator index 9bb3037..f3d9226 100644 --- a/Dockerfile.migrator +++ b/Dockerfile.migrator @@ -1,6 +1,6 @@ -# syntax=docker/dockerfile:1 +# syntax=docker/dockerfile:1.7 -FROM node:20-bookworm-slim +FROM node:20-bookworm-slim AS base WORKDIR /app @@ -8,10 +8,31 @@ ENV NODE_ENV=production ENV NEXT_TELEMETRY_DISABLED=1 ENV HUSKY=0 + +FROM base AS deps + +ENV NODE_ENV=development +ENV HUSKY=0 + COPY package.json package-lock.json ./ -RUN npm ci --no-audit --no-fund +RUN npm pkg delete scripts.prepare \ + && npm ci \ + --include=dev \ + --legacy-peer-deps \ + --no-audit \ + --no-fund + +FROM base AS migrator + +ENV NODE_ENV=production +ENV NEXT_TELEMETRY_DISABLED=1 +ENV HUSKY=0 + +COPY --from=deps /app/node_modules ./node_modules + +COPY package.json package-lock.json ./ COPY drizzle.config.* ./ COPY drizzle ./drizzle COPY src ./src @@ -19,13 +40,21 @@ COPY scripts ./scripts COPY tsconfig.json ./ CMD ["sh", "-c", "\ - set -e; \ - echo 'Running database migrations...'; \ + set -eu; \ + echo '========================================'; \ + echo '1/3 Running database migrations'; \ + echo '========================================'; \ npm run migrate; \ - echo 'Running master-data seed...'; \ + echo '========================================'; \ + echo '2/3 Seeding master data'; \ + echo '========================================'; \ npm run seed:master-data; \ - echo 'Running super-admin seed...'; \ + echo '========================================'; \ + echo '3/3 Seeding super administrator'; \ + echo '========================================'; \ npm run seed:super-admin; \ - echo 'Migration and seeds completed successfully'; \ + echo '========================================'; \ + echo 'Database initialization completed'; \ + echo '========================================'; \ tail -f /dev/null \ "] \ No newline at end of file