From 802f1ab0e06b5e8a8bacb6a3177941de60130e5f Mon Sep 17 00:00:00 2001 From: Marcel Date: Thu, 19 Mar 2026 11:08:23 +0100 Subject: [PATCH] fix(backend): explicit Flyway config and DataInitializer null title fix Adding explicit spring.flyway.* config (url/user/password) ensures Flyway creates its own JDBC connection and runs migrations independently of the JPA datasource initialization order in Spring Boot 4.0. Fix DataInitializer creating a Document with title=null, which would hit the NOT NULL constraint in the documents table once the admin user init succeeds. Co-Authored-By: Claude Sonnet 4.6 --- .../org/raddatz/familienarchiv/config/DataInitializer.java | 4 ++-- backend/src/main/resources/application.yaml | 7 +++++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/backend/src/main/java/org/raddatz/familienarchiv/config/DataInitializer.java b/backend/src/main/java/org/raddatz/familienarchiv/config/DataInitializer.java index 42874fa4..262c4bf1 100644 --- a/backend/src/main/java/org/raddatz/familienarchiv/config/DataInitializer.java +++ b/backend/src/main/java/org/raddatz/familienarchiv/config/DataInitializer.java @@ -152,9 +152,9 @@ public class DataInitializer { .receivers(Set.of(maria)) .build()); - // 5. Document with no title — tests fallback to originalFilename + // 5. Document with minimal metadata — tests sparse display docRepo.save(Document.builder() - .title(null) + .title("Scan ohne Titel") .originalFilename("scan_ohne_titel.pdf") .status(DocumentStatus.UPLOADED) .documentDate(LocalDate.of(1978, 11, 20)) diff --git a/backend/src/main/resources/application.yaml b/backend/src/main/resources/application.yaml index 0b321f14..19f6daef 100644 --- a/backend/src/main/resources/application.yaml +++ b/backend/src/main/resources/application.yaml @@ -8,6 +8,13 @@ spring: password: ${SPRING_DATASOURCE_PASSWORD} driver-class-name: org.postgresql.Driver + flyway: + enabled: true + locations: classpath:db/migration + url: ${SPRING_DATASOURCE_URL} + user: ${SPRING_DATASOURCE_USERNAME} + password: ${SPRING_DATASOURCE_PASSWORD} + jpa: hibernate: ddl-auto: none