migration
This commit is contained in:
@@ -9,25 +9,21 @@ RUN npm run build:container
|
||||
## Build the NestJS backend
|
||||
FROM node:22-alpine AS backend-build
|
||||
WORKDIR /app
|
||||
ENV CI=true
|
||||
COPY myteamwallet_backend/package.json myteamwallet_backend/package-lock.json ./
|
||||
RUN npm ci
|
||||
RUN npm ci --ignore-scripts
|
||||
COPY myteamwallet_backend/ ./
|
||||
RUN npm run build
|
||||
|
||||
## Runtime image: backend + frontend static assets, external DB only
|
||||
FROM node:22-alpine
|
||||
WORKDIR /app
|
||||
ENV CI=true
|
||||
|
||||
RUN apk add --no-cache bash
|
||||
|
||||
COPY myteamwallet_backend/package.json myteamwallet_backend/package-lock.json ./
|
||||
RUN npm ci
|
||||
RUN npm ci --omit=dev --ignore-scripts
|
||||
ENV NODE_ENV=production
|
||||
COPY --from=backend-build /app/dist ./dist
|
||||
COPY myteamwallet_backend/src ./src
|
||||
COPY myteamwallet_backend/tsconfig.json ./tsconfig.json
|
||||
COPY myteamwallet_backend/wait-for-it.sh ./wait-for-it.sh
|
||||
COPY myteamwallet_backend/docker-entrypoint.sh ./docker-entrypoint.sh
|
||||
RUN sed -i 's/\r$//' wait-for-it.sh docker-entrypoint.sh \
|
||||
|
||||
@@ -4,11 +4,9 @@ set -e
|
||||
echo "Waiting for database at ${DATABASE_HOST}:${DATABASE_PORT}..."
|
||||
bash ./wait-for-it.sh "${DATABASE_HOST}:${DATABASE_PORT}" -t 60
|
||||
|
||||
echo "Running database migrations..."
|
||||
# env-cmd (used by migration:run) requires an .env file to exist, even though
|
||||
# the real config already arrived as process env vars via `docker run --env-file`.
|
||||
touch .env
|
||||
npm run migration:run
|
||||
# No automatic migration:run here: the checked-in TypeORM migrations are
|
||||
# Postgres-specific and fail against the real MySQL database. Schema is kept
|
||||
# in sync via DATABASE_SYNCHRONIZE, matching current production behavior.
|
||||
|
||||
echo "Starting application..."
|
||||
exec node dist/main
|
||||
|
||||
Reference in New Issue
Block a user