diff --git a/Dockerfile b/Dockerfile index de1ab49..135e78b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -51,6 +51,9 @@ RUN npm ci --omit=dev && npm cache clean --force # Copy built backend (to /app/backend/dist) COPY --from=backend-builder /app/backend/dist ./dist +# Copy migrations (SQL files needed at runtime) +COPY --from=backend-builder /app/backend/src/migrations ./src/migrations + # Copy built frontend (to /app/frontend/dist) WORKDIR /app COPY --from=frontend-builder /app/frontend/dist ./frontend/dist diff --git a/backend/src/config/database.ts b/backend/src/config/database.ts index d8534d0..cfe6cd2 100644 --- a/backend/src/config/database.ts +++ b/backend/src/config/database.ts @@ -34,7 +34,9 @@ export const initializeDatabase = async () => { export const runMigrations = async () => { console.log('🔄 Running migrations...'); try { - const migrationsDir = path.join(__dirname, '../migrations'); + // In compiled JS, __dirname is /app/backend/dist/config + // We need to go up to /app/backend and then into src/migrations + const migrationsDir = path.join(__dirname, '../../src/migrations'); const files = fs.readdirSync(migrationsDir) .filter(f => f.endsWith('.sql')) .sort();