From 4a4264b7af568faa381ac531620e77b3d6c7c2ec Mon Sep 17 00:00:00 2001 From: Piotr Belke Date: Sat, 20 Apr 2024 19:40:57 +0200 Subject: [PATCH 1/6] IKC-353 database configuration --- docs/DATABASE.md | 25 ++++++++++++++++ docs/SUMMARY.md | 1 + kouncil-backend/pom.xml | 23 ++++++++++++++- .../config/database/FlywayMigration.java | 29 +++++++++++++++++++ 4 files changed, 77 insertions(+), 1 deletion(-) create mode 100644 docs/DATABASE.md create mode 100644 kouncil-backend/src/main/java/com/consdata/kouncil/config/database/FlywayMigration.java diff --git a/docs/DATABASE.md b/docs/DATABASE.md new file mode 100644 index 00000000..bf8b480e --- /dev/null +++ b/docs/DATABASE.md @@ -0,0 +1,25 @@ +## Database configuration + +Currently, Kouncil supports two databases: +* PostgreSQL +* H2 + +If no database is specified with below properties, H2 in-memory database will be used. + +### Configuration properties +* `spring.datasource.url` JDBC URL of the database +* `spring.datasource.username` login username of the database +* `spring.datasource.password` login password of the database +* `spring.jpa.hibernate.default_schema` sets default schema + +### Example +```yaml +spring: + datasource: + url: jdbc:postgresql://localhost:5432/ + username: postgres + password: password + jpa: + hibernate: + default_schema: kouncil +``` diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md index 0bf9d54a..687b954a 100644 --- a/docs/SUMMARY.md +++ b/docs/SUMMARY.md @@ -6,3 +6,4 @@ * [Features](FEATURES.md) * [Deployment](DEPLOYMENT.md) * [Development](DEVELOPMENT.md) +* [Database](DATABASE.md) diff --git a/kouncil-backend/pom.xml b/kouncil-backend/pom.xml index e3897d2c..1b9b7982 100644 --- a/kouncil-backend/pom.xml +++ b/kouncil-backend/pom.xml @@ -1,5 +1,7 @@ - + 4.0.0 kouncil-backend @@ -141,6 +143,25 @@ 1.1.9 + + + org.springframework.boot + spring-boot-starter-data-jpa + + + com.h2database + h2 + runtime + + + org.postgresql + postgresql + 42.7.3 + + + org.flywaydb + flyway-core + diff --git a/kouncil-backend/src/main/java/com/consdata/kouncil/config/database/FlywayMigration.java b/kouncil-backend/src/main/java/com/consdata/kouncil/config/database/FlywayMigration.java new file mode 100644 index 00000000..f3d85c6f --- /dev/null +++ b/kouncil-backend/src/main/java/com/consdata/kouncil/config/database/FlywayMigration.java @@ -0,0 +1,29 @@ +package com.consdata.kouncil.config.database; + +import lombok.RequiredArgsConstructor; +import org.flywaydb.core.Flyway; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.autoconfigure.flyway.FlywayMigrationStrategy; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +@RequiredArgsConstructor +public class FlywayMigration { + + @Value("${spring.jpa.hibernate.default_schema:#{null}}") + private String defaultSchema; + + @Bean + public FlywayMigrationStrategy flywayMigrationStrategy() { + return flyway -> { + flyway = Flyway.configure() + .configuration(flyway.getConfiguration()) + .baselineOnMigrate(true) + .defaultSchema(defaultSchema) + .load(); + + flyway.migrate(); + }; + } +} From 5d4e6e19a163088fa680f9d5f57cf20aaf064c1b Mon Sep 17 00:00:00 2001 From: Piotr Belke Date: Thu, 25 Apr 2024 17:42:07 +0200 Subject: [PATCH 2/6] IKC-372 FAQ --- docs/SUMMARY.md | 4 +--- docs/{ => configuration}/DATABASE.md | 0 2 files changed, 1 insertion(+), 3 deletions(-) rename docs/{ => configuration}/DATABASE.md (100%) diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md index 37d68a6d..143a042a 100644 --- a/docs/SUMMARY.md +++ b/docs/SUMMARY.md @@ -20,6 +20,7 @@ * [Logging](configuration/LOGGING.md) * [Websocket](configuration/WEBSOCKET.md) * [Custom base path](configuration/CUSTOM_BASE_PATH.md) + * [Database](configuration/DATABASE.md) * [Features](FEATURES.md) @@ -29,6 +30,3 @@ * [Roadmap](ROADMAP.md) -* [Deployment](DEPLOYMENT.md) -* [Development](DEVELOPMENT.md) -* [Database](DATABASE.md) diff --git a/docs/DATABASE.md b/docs/configuration/DATABASE.md similarity index 100% rename from docs/DATABASE.md rename to docs/configuration/DATABASE.md From a90d04fead836752b1b03c8ec8f961ac00a44324 Mon Sep 17 00:00:00 2001 From: Piotr Belke Date: Thu, 25 Apr 2024 17:42:07 +0200 Subject: [PATCH 3/6] IKC-353 Database configuration --- docs/SUMMARY.md | 4 +--- docs/{ => configuration}/DATABASE.md | 0 2 files changed, 1 insertion(+), 3 deletions(-) rename docs/{ => configuration}/DATABASE.md (100%) diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md index 37d68a6d..143a042a 100644 --- a/docs/SUMMARY.md +++ b/docs/SUMMARY.md @@ -20,6 +20,7 @@ * [Logging](configuration/LOGGING.md) * [Websocket](configuration/WEBSOCKET.md) * [Custom base path](configuration/CUSTOM_BASE_PATH.md) + * [Database](configuration/DATABASE.md) * [Features](FEATURES.md) @@ -29,6 +30,3 @@ * [Roadmap](ROADMAP.md) -* [Deployment](DEPLOYMENT.md) -* [Development](DEVELOPMENT.md) -* [Database](DATABASE.md) diff --git a/docs/DATABASE.md b/docs/configuration/DATABASE.md similarity index 100% rename from docs/DATABASE.md rename to docs/configuration/DATABASE.md From 935289034e6a76e27dcf5545546df7af737811c3 Mon Sep 17 00:00:00 2001 From: Piotr Belke Date: Fri, 26 Apr 2024 17:03:48 +0200 Subject: [PATCH 4/6] IKC-353 Database configuration --- kouncil-backend/pom.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/kouncil-backend/pom.xml b/kouncil-backend/pom.xml index 6bdc1a45..edbf5b6c 100644 --- a/kouncil-backend/pom.xml +++ b/kouncil-backend/pom.xml @@ -151,6 +151,7 @@ com.h2database h2 + 2.2.224 runtime From 3c2fe17693db35c99a1ad3f39162d8468c29280c Mon Sep 17 00:00:00 2001 From: Piotr Belke Date: Mon, 27 May 2024 18:53:46 +0200 Subject: [PATCH 5/6] IKC-353 Database configuration --- docs/SUMMARY.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md index 45dc9418..01d7bbb2 100644 --- a/docs/SUMMARY.md +++ b/docs/SUMMARY.md @@ -20,7 +20,6 @@ * [Logging](configuration/LOGGING.md) * [Websocket](configuration/WEBSOCKET.md) * [Custom context path](configuration/CUSTOM_CONTEXT_PATH.md) - * [Custom base path](configuration/CUSTOM_BASE_PATH.md) * [Database](configuration/DATABASE.md) From 0d9f83c03cbcdd958ee64c846a35649cd088f8e5 Mon Sep 17 00:00:00 2001 From: Piotr Belke Date: Tue, 6 Aug 2024 16:15:41 +0200 Subject: [PATCH 6/6] IKC-353 Database configuration --- kouncil-backend/pom.xml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/kouncil-backend/pom.xml b/kouncil-backend/pom.xml index f02aa33b..8e0ea435 100644 --- a/kouncil-backend/pom.xml +++ b/kouncil-backend/pom.xml @@ -19,6 +19,8 @@ 1.8.0 2.2.6 1.17.6 + 42.7.3 + 2.2.224 @@ -151,13 +153,13 @@ com.h2database h2 - 2.2.224 + ${h2database.version} runtime org.postgresql postgresql - 42.7.3 + ${postgresql.version} org.flywaydb