From cefaf55dd124d0635abfe857c3c99a3d3ea62017 Mon Sep 17 00:00:00 2001 From: Patrick Baumgartner Date: Wed, 4 Jun 2025 22:21:33 +0200 Subject: [PATCH] Downgrading to mysql 9.2 - MySQL 9.3 does not work with testcontainers 1.21.0. Database container terminates with errors Signed-off-by: Patrick Baumgartner --- README.md | 2 +- docker-compose.yml | 2 +- .../samples/petclinic/MySqlIntegrationTests.java | 3 ++- .../samples/petclinic/MysqlTestApplication.java | 3 ++- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index f7fa4f64e..1f865c56f 100644 --- a/README.md +++ b/README.md @@ -54,7 +54,7 @@ A similar setup is provided for MySQL and PostgreSQL if a persistent database co You can start MySQL or PostgreSQL locally with whatever installer works for your OS or use docker: ```bash -docker run -e MYSQL_USER=petclinic -e MYSQL_PASSWORD=petclinic -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=petclinic -p 3306:3306 mysql:9.3 +docker run -e MYSQL_USER=petclinic -e MYSQL_PASSWORD=petclinic -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=petclinic -p 3306:3306 mysql:9.2 ``` or diff --git a/docker-compose.yml b/docker-compose.yml index 03268d000..e066d1237 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,6 +1,6 @@ services: mysql: - image: mysql:9.3 + image: mysql:9.2 ports: - "3306:3306" environment: diff --git a/src/test/java/org/springframework/samples/petclinic/MySqlIntegrationTests.java b/src/test/java/org/springframework/samples/petclinic/MySqlIntegrationTests.java index 961205dc5..a78e2e6e1 100644 --- a/src/test/java/org/springframework/samples/petclinic/MySqlIntegrationTests.java +++ b/src/test/java/org/springframework/samples/petclinic/MySqlIntegrationTests.java @@ -36,6 +36,7 @@ import org.springframework.web.client.RestTemplate; import org.testcontainers.containers.MySQLContainer; import org.testcontainers.junit.jupiter.Container; import org.testcontainers.junit.jupiter.Testcontainers; +import org.testcontainers.utility.DockerImageName; @SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT) @ActiveProfiles("mysql") @@ -46,7 +47,7 @@ class MySqlIntegrationTests { @ServiceConnection @Container - static MySQLContainer container = new MySQLContainer<>("mysql:9.3"); + static MySQLContainer container = new MySQLContainer<>(DockerImageName.parse("mysql:9.2")); @LocalServerPort int port; diff --git a/src/test/java/org/springframework/samples/petclinic/MysqlTestApplication.java b/src/test/java/org/springframework/samples/petclinic/MysqlTestApplication.java index fd81449ab..2a4ea8e06 100644 --- a/src/test/java/org/springframework/samples/petclinic/MysqlTestApplication.java +++ b/src/test/java/org/springframework/samples/petclinic/MysqlTestApplication.java @@ -22,6 +22,7 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Profile; import org.testcontainers.containers.MySQLContainer; +import org.testcontainers.utility.DockerImageName; /** * PetClinic Spring Boot Application. @@ -35,7 +36,7 @@ public class MysqlTestApplication { @Profile("mysql") @Bean static MySQLContainer container() { - return new MySQLContainer<>("mysql:9.3"); + return new MySQLContainer<>(DockerImageName.parse("mysql:9.2")); } public static void main(String[] args) {