diff --git a/build.gradle b/build.gradle index 862cec7b8403..f242e5341d52 100644 --- a/build.gradle +++ b/build.gradle @@ -556,7 +556,7 @@ dependencies { dependencyManagement { imports { - mavenBom "io.zonky.test.postgres:embedded-postgres-binaries-bom:16.4.0" + mavenBom "io.zonky.test.postgres:embedded-postgres-binaries-bom:17.0.0" } } diff --git a/docker/postgres.yml b/docker/postgres.yml index c96b36d0ca18..9f08c2f4841a 100644 --- a/docker/postgres.yml +++ b/docker/postgres.yml @@ -5,7 +5,7 @@ services: postgres: container_name: artemis-postgres - image: docker.io/library/postgres:16.4-alpine + image: docker.io/library/postgres:17.0-alpine pull_policy: if_not_present user: postgres command: ["postgres", "-c", "max_connections=10000"] diff --git a/docs/admin/database.rst b/docs/admin/database.rst index 76d09c952358..f1671d11ab3e 100644 --- a/docs/admin/database.rst +++ b/docs/admin/database.rst @@ -59,7 +59,7 @@ Migrating MySQL Data to PostgreSQL - db-migration postgres: - image: docker.io/library/postgres:16.4 + image: docker.io/library/postgres:17.0 environment: - POSTGRES_USER=root - POSTGRES_DB=Artemis diff --git a/docs/dev/setup.rst b/docs/dev/setup.rst index 01c6a0acec05..cc8bc4a94098 100644 --- a/docs/dev/setup.rst +++ b/docs/dev/setup.rst @@ -29,7 +29,7 @@ following dependencies/tools on your machine: We use Java (JDK 21) to develop and run the Artemis application server, which is based on `Spring Boot `__. -2. `MySQL Database Server 8 `__, or `PostgreSQL `_: +2. `MySQL Database Server 9 `__, or `PostgreSQL 17 `_: Artemis uses Hibernate to store entities in an SQL database and Liquibase to automatically apply schema transformations when updating Artemis. 3. `Node.js `__: We use Node LTS (>=20.16.0 < 21) to compile diff --git a/docs/dev/setup/database.rst b/docs/dev/setup/database.rst index 595695254d34..8e1732622e64 100644 --- a/docs/dev/setup/database.rst +++ b/docs/dev/setup/database.rst @@ -44,9 +44,9 @@ Users for MySQL ``application-local.yml`` *(spring > datasource > password)* and in ``liquibase.gradle`` *(within the 'liquibaseCommand' as argument password)*). -Set empty root password for MySQL 8 +Set empty root password for MySQL 9 """"""""""""""""""""""""""""""""""" -If you have problems connecting to the MySQL 8 database using an empty root password, you can try the following command +If you have problems connecting to the MySQL 9 database using an empty root password, you can try the following command to reset the root password to an empty password: .. code:: diff --git a/docs/dev/setup/docker-compose.rst b/docs/dev/setup/docker-compose.rst index 63ddaeed5de1..a655f44e6ab7 100644 --- a/docs/dev/setup/docker-compose.rst +++ b/docs/dev/setup/docker-compose.rst @@ -306,7 +306,7 @@ The ``docker-compose.yml`` file could look like this for an Artemis, Jenkins and - "traefik.http.services.artemis.loadbalancer.server.port=8080" artemis-db: - image: mysql:8 + image: mysql:9 container_name: "mysql" restart: unless-stopped volumes: diff --git a/src/main/java/de/tum/cit/aet/artemis/core/domain/User.java b/src/main/java/de/tum/cit/aet/artemis/core/domain/User.java index 1c95e5f1841d..7fa995658af1 100644 --- a/src/main/java/de/tum/cit/aet/artemis/core/domain/User.java +++ b/src/main/java/de/tum/cit/aet/artemis/core/domain/User.java @@ -172,10 +172,6 @@ public class User extends AbstractAuditingEntity implements Participant { @Column(name = "ssh_public_key_hash") private final String sshPublicKeyHash = null; - /** - * Word "GROUPS" is being added as a restricted word starting in MySQL 8.0.2 - * Workaround: Annotation @Column(name = "`groups`") escapes this word using backticks. - */ @ElementCollection(fetch = FetchType.LAZY) @CollectionTable(name = "user_groups", joinColumns = @JoinColumn(name = "user_id")) @Column(name = "user_groups") diff --git a/src/test/resources/config/application.yml b/src/test/resources/config/application.yml index 742c904105e9..f48155253d32 100644 --- a/src/test/resources/config/application.yml +++ b/src/test/resources/config/application.yml @@ -179,7 +179,7 @@ zonky: type: H2 # Alternatives: H2 / MYSQL / POSTGRES postgres: docker: - image: "postgres:16.4-alpine" + image: "postgres:17.0-alpine" tmpfs: enabled: true server: