diff --git a/pom.xml b/pom.xml index e8dbfcfe93f84bc818e739441f93e92cc5ee60d8..0dc310ccb39de6142440d20422576851de0ad52b 100644 --- a/pom.xml +++ b/pom.xml @@ -21,6 +21,7 @@ <spring-cloud-config-server.version>4.1.0</spring-cloud-config-server.version> <testcontainers-keycloak.version>3.2.0</testcontainers-keycloak.version> <keycloak-admin-client.version>23.0.6</keycloak-admin-client.version> + <mongock.version>5.4.0</mongock.version> </properties> <dependencies> @@ -67,6 +68,17 @@ <artifactId>spring-boot-configuration-processor</artifactId> <optional>true</optional> </dependency> + <!-- mongock --> + <dependency> + <groupId>io.mongock</groupId> + <artifactId>mongock-springboot-v3</artifactId> + <version>${mongock.version}</version> + </dependency> + <dependency> + <groupId>io.mongock</groupId> + <artifactId>mongodb-springdata-v4-driver</artifactId> + <version>${mongock.version}</version> + </dependency> <!-- Dev --> <dependency> diff --git a/src/main/java/de/ozgcloud/admin/AdministrationApplication.java b/src/main/java/de/ozgcloud/admin/AdministrationApplication.java index c9535837fdbb37dcb5a4344bff54816679d33223..563eea5b36d486c99187d35a08c61e6fb2e34bf1 100644 --- a/src/main/java/de/ozgcloud/admin/AdministrationApplication.java +++ b/src/main/java/de/ozgcloud/admin/AdministrationApplication.java @@ -21,6 +21,7 @@ */ package de.ozgcloud.admin; +import io.mongock.runner.springboot.EnableMongock; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.config.server.EnableConfigServer; @@ -28,6 +29,7 @@ import org.springframework.data.mongodb.repository.config.EnableMongoRepositorie @SpringBootApplication @EnableConfigServer +@EnableMongock @EnableMongoRepositories public class AdministrationApplication { diff --git a/src/main/resources/application.yaml b/src/main/resources/application.yaml index 29082f7d8446f187cd3f16f077b94f28d41bf807..68e8d507999373445e89a2460ecfd86e82e51ed3 100644 --- a/src/main/resources/application.yaml +++ b/src/main/resources/application.yaml @@ -49,6 +49,14 @@ management: exposure: include: health,prometheus +mongock: + runner-type: initializingbean + migration-scan-package: + - de.ozgcloud.admin.migration + enabled: true + # try out if this works + transactionEnabled: true + spring: application: name: OzgCloud_Administration diff --git a/src/test/java/de/ozgcloud/admin/AdministrationApplicationTest.java b/src/test/java/de/ozgcloud/admin/AdministrationApplicationTest.java index 7d88d4237191cb0b07aaad9235443c689c1efe59..c322c8fe7563f4f76ad2f6eb2793e4057543e4e0 100644 --- a/src/test/java/de/ozgcloud/admin/AdministrationApplicationTest.java +++ b/src/test/java/de/ozgcloud/admin/AdministrationApplicationTest.java @@ -21,10 +21,11 @@ */ package de.ozgcloud.admin; +import de.ozgcloud.common.test.ITCase; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; -@SpringBootTest +@ITCase class AdministrationApplicationTest { @Test diff --git a/src/test/resources/application-itcase.yaml b/src/test/resources/application-itcase.yaml new file mode 100644 index 0000000000000000000000000000000000000000..fc717c37b9cfb97360022930cb07c950b16d1983 --- /dev/null +++ b/src/test/resources/application-itcase.yaml @@ -0,0 +1,2 @@ +mongock: + enabled: false \ No newline at end of file