From 2b83bfe9562281d1ef09ac56a474f14b4f84917e Mon Sep 17 00:00:00 2001 From: Jan Date: Fri, 24 Oct 2025 08:06:33 +0200 Subject: [PATCH] Replaced Material data with dummy data & restored dockerfile because flyway does not execute successfully with the contained duplicates etc. --- dockerfile | 46 ++----------------- .../db/migration/V9__Material_Packaging.sql | 6 +-- src/test/resources/master_data/users.sql | 10 ++-- 3 files changed, 13 insertions(+), 49 deletions(-) diff --git a/dockerfile b/dockerfile index 01434b9..d077963 100644 --- a/dockerfile +++ b/dockerfile @@ -1,56 +1,20 @@ -# Frontend Build Stage FROM node:20-alpine AS frontend-build WORKDIR /app/frontend - -# Nur package files zuerst kopieren für besseres Caching COPY src/frontend/package*.json ./ -RUN npm ci --only=production - -# Frontend Source Code kopieren +RUN npm ci COPY src/frontend/ ./ - -# Frontend bauen RUN npm run build -# Backend Build Stage FROM maven:3.9-eclipse-temurin-23 AS backend-build WORKDIR /app - -# Nur pom.xml zuerst für besseres Dependency Caching COPY pom.xml ./ -RUN mvn dependency:go-offline -B - -# Backend Source Code kopieren (ohne frontend) COPY src ./src - -# Frontend Build Results kopieren +# copy frontend COPY --from=frontend-build /app/frontend/dist ./src/main/resources/static +RUN mvn clean package -DskipTests -# Build mit optimierten Maven Settings -RUN mvn clean package -DskipTests -B -T 1C - -# Runtime Stage - Optimiert FROM eclipse-temurin:23-jre-alpine - -# Sicherheit: Non-root User -RUN addgroup -g 1001 -S appgroup && \ - adduser -u 1001 -S appuser -G appgroup - WORKDIR /app - -# App kopieren -COPY --from=backend-build --chown=appuser:appgroup /app/target/*.jar app.jar - -# Wechsel zu non-root user -USER appuser - -# Health check hinzufügen (optional, passe den Pfad an) -HEALTHCHECK --interval=30s --timeout=3s --start-period=40s --retries=3 \ - CMD wget --no-verbose --tries=1 --spider http://localhost:8080/actuator/health || exit 1 - +COPY --from=backend-build /app/target/*.jar app.jar EXPOSE 8080 - -# JVM Memory Optimierungen -ENV JAVA_OPTS="-XX:+UseContainerSupport -XX:MaxRAMPercentage=75.0 -XX:+ExitOnOutOfMemoryError" - -ENTRYPOINT ["sh", "-c", "java $JAVA_OPTS -jar app.jar"] \ No newline at end of file +ENTRYPOINT ["java", "-jar", "app.jar"] \ No newline at end of file diff --git a/src/main/resources/db/migration/V9__Material_Packaging.sql b/src/main/resources/db/migration/V9__Material_Packaging.sql index 47e53f5..e71be41 100644 --- a/src/main/resources/db/migration/V9__Material_Packaging.sql +++ b/src/main/resources/db/migration/V9__Material_Packaging.sql @@ -65,9 +65,9 @@ VALUES ('Stackable', 'STACKABLE', 'BOOLEAN', NULL, FALSE, 'desc', 'general', 1), ('Rust Prevention', 'RUST_PREVENTION', 'BOOLEAN', NULL, FALSE, 'desc', 'general', 2), ('Mixable', 'MIXABLE', 'BOOLEAN', NULL, FALSE, 'desc', 'general', 3) -ON DUPLICATE KEY UPDATE - name = VALUES(name), - data_type = VALUES(data_type); +AS props ON DUPLICATE KEY UPDATE + name = props.name, + data_type = props.data_type; -- ============================================ -- SHU Packaging Dimensions diff --git a/src/test/resources/master_data/users.sql b/src/test/resources/master_data/users.sql index 824a1a6..7589c08 100644 --- a/src/test/resources/master_data/users.sql +++ b/src/test/resources/master_data/users.sql @@ -26,23 +26,23 @@ INSERT INTO sys_group(group_name, group_description) VALUES ('right-management', 'Add/Remove users, groups, etc.'); -INSERT INTO sys_user_group_mapping (user_id, group_id) +INSERT INTO sys_user_group_mapping (group_id, user_id) VALUES ((SELECT id FROM sys_group WHERE group_name = 'super'), (SELECT id FROM sys_user WHERE email = 'john.doe@company.com')); -INSERT INTO sys_user_group_mapping (user_id, group_id) +INSERT INTO sys_user_group_mapping (group_id, user_id) VALUES ((SELECT id FROM sys_group WHERE group_name = 'basic'), (SELECT id FROM sys_user WHERE email = 'sarah.smith@company.com')); -INSERT INTO sys_user_group_mapping (user_id, group_id) +INSERT INTO sys_user_group_mapping (group_id, user_id) VALUES ((SELECT id FROM sys_group WHERE group_name = 'calculation'), (SELECT id FROM sys_user WHERE email = 'mike.johnson@company.com')); -INSERT INTO sys_user_group_mapping (user_id, group_id) +INSERT INTO sys_user_group_mapping (group_id, user_id) VALUES ((SELECT id FROM sys_group WHERE group_name = 'freight'), (SELECT id FROM sys_user WHERE email = 'anna.mueller@company.com')); -INSERT INTO sys_user_group_mapping (user_id, group_id) +INSERT INTO sys_user_group_mapping (group_id, user_id) VALUES ((SELECT id FROM sys_group WHERE group_name = 'packaging'), (SELECT id FROM sys_user WHERE email = 'david.chen@company.com'));