diff --git a/financer-server/pom.xml b/financer-server/pom.xml
index 0f9f386..1dbe404 100644
--- a/financer-server/pom.xml
+++ b/financer-server/pom.xml
@@ -17,7 +17,7 @@
jar
- hsqldb,dev
+ h2,dev
mk
@@ -70,8 +70,8 @@
- org.hsqldb
- hsqldb
+ com.h2database
+ h2
runtime
diff --git a/financer-server/src/main/resources/config/application-h2.properties b/financer-server/src/main/resources/config/application-h2.properties
new file mode 100644
index 0000000..960c46d
--- /dev/null
+++ b/financer-server/src/main/resources/config/application-h2.properties
@@ -0,0 +1,5 @@
+spring.flyway.locations=classpath:/database/h2,classpath:/database/common
+
+# DataSource
+spring.datasource.url=jdbc:h2:mem:.;DB_CLOSE_DELAY=-1
+spring.datasource.username=sa
\ No newline at end of file
diff --git a/financer-server/src/main/resources/config/application-hsqldb.properties b/financer-server/src/main/resources/config/application-hsqldb.properties
deleted file mode 100644
index 3976d92..0000000
--- a/financer-server/src/main/resources/config/application-hsqldb.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-spring.flyway.locations=classpath:/database/hsqldb,classpath:/database/common
-
-# DataSource
-#spring.datasource.url=jdbc:hsqldb:file:/tmp/financer
-spring.datasource.url=jdbc:hsqldb:mem:.
-spring.datasource.username=sa
\ No newline at end of file
diff --git a/financer-server/src/main/resources/database/hsqldb/V12_0_0__accountGroupsAccount.sql b/financer-server/src/main/resources/database/h2/V12_0_0__accountGroupsAccount.sql
similarity index 73%
rename from financer-server/src/main/resources/database/hsqldb/V12_0_0__accountGroupsAccount.sql
rename to financer-server/src/main/resources/database/h2/V12_0_0__accountGroupsAccount.sql
index 11dd0f4..988c35e 100644
--- a/financer-server/src/main/resources/database/hsqldb/V12_0_0__accountGroupsAccount.sql
+++ b/financer-server/src/main/resources/database/h2/V12_0_0__accountGroupsAccount.sql
@@ -1,3 +1,3 @@
-UPDATE account SET account_group_id = (SELECT id FROM account_group WHERE name = 'Car') WHERE "key" IN ('Car', 'Gas')
+UPDATE account SET account_group_id = (SELECT id FROM account_group WHERE name = 'Car') WHERE "key" IN ('Car', 'Gas');
-UPDATE account SET account_group_id = (SELECT id FROM account_group WHERE name = 'Housing') WHERE "key" IN ('Rent', 'FVS', 'Electricity/Water')
\ No newline at end of file
+UPDATE account SET account_group_id = (SELECT id FROM account_group WHERE name = 'Housing') WHERE "key" IN ('Rent', 'FVS', 'Electricity/Water');
\ No newline at end of file
diff --git a/financer-server/src/main/resources/database/hsqldb/V19_0_0__varcharToNvarchar.sql b/financer-server/src/main/resources/database/h2/V19_0_0__varcharToNvarchar.sql
similarity index 100%
rename from financer-server/src/main/resources/database/hsqldb/V19_0_0__varcharToNvarchar.sql
rename to financer-server/src/main/resources/database/h2/V19_0_0__varcharToNvarchar.sql
diff --git a/financer-server/src/main/resources/database/hsqldb/V19_0_1__period.sql b/financer-server/src/main/resources/database/h2/V19_0_1__period.sql
similarity index 83%
rename from financer-server/src/main/resources/database/hsqldb/V19_0_1__period.sql
rename to financer-server/src/main/resources/database/h2/V19_0_1__period.sql
index 39fa41d..8c4a892 100644
--- a/financer-server/src/main/resources/database/hsqldb/V19_0_1__period.sql
+++ b/financer-server/src/main/resources/database/h2/V19_0_1__period.sql
@@ -1,13 +1,13 @@
-- Account group table
CREATE TABLE period (
- id BIGINT NOT NULL PRIMARY KEY IDENTITY,
+ id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
type VARCHAR(255) NOT NULL,
start DATETIME NOT NULL,
"end" DATETIME
);
CREATE TABLE link_transaction_period (
- id BIGINT NOT NULL PRIMARY KEY IDENTITY,
+ id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
transaction_id BIGINT NOT NULL,
period_id BIGINT NOT NULL,
diff --git a/financer-server/src/main/resources/database/hsqldb/V19_0_2__accountStatistic.sql b/financer-server/src/main/resources/database/h2/V19_0_2__accountStatistic.sql
similarity index 90%
rename from financer-server/src/main/resources/database/hsqldb/V19_0_2__accountStatistic.sql
rename to financer-server/src/main/resources/database/h2/V19_0_2__accountStatistic.sql
index 09d6407..13e7976 100644
--- a/financer-server/src/main/resources/database/hsqldb/V19_0_2__accountStatistic.sql
+++ b/financer-server/src/main/resources/database/h2/V19_0_2__accountStatistic.sql
@@ -1,6 +1,6 @@
-- Account statistic table
CREATE TABLE account_statistic (
- id BIGINT NOT NULL PRIMARY KEY IDENTITY,
+ id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
account_id BIGINT NOT NULL,
period_id BIGINT NOT NULL,
spending_total_from BIGINT NOT NULL,
diff --git a/financer-server/src/main/resources/database/hsqldb/V1_0_0__init.sql b/financer-server/src/main/resources/database/h2/V1_0_0__init.sql
similarity index 91%
rename from financer-server/src/main/resources/database/hsqldb/V1_0_0__init.sql
rename to financer-server/src/main/resources/database/h2/V1_0_0__init.sql
index b1a900b..41de92b 100644
--- a/financer-server/src/main/resources/database/hsqldb/V1_0_0__init.sql
+++ b/financer-server/src/main/resources/database/h2/V1_0_0__init.sql
@@ -4,7 +4,7 @@
-- Account table
CREATE TABLE account (
- id BIGINT NOT NULL PRIMARY KEY IDENTITY,
+ id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
"key" VARCHAR(1000) NOT NULL, --escape keyword "key"
type VARCHAR(255) NOT NULL,
status VARCHAR(255) NOT NULL,
@@ -15,7 +15,7 @@ CREATE TABLE account (
-- Recurring transaction table
CREATE TABLE recurring_transaction (
- id BIGINT NOT NULL PRIMARY KEY IDENTITY,
+ id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
from_account_id BIGINT NOT NULL,
to_account_id BIGINT NOT NULL,
description VARCHAR(1000),
@@ -32,7 +32,7 @@ CREATE TABLE recurring_transaction (
-- Transaction table
CREATE TABLE "transaction" ( --escape keyword "transaction"
- id BIGINT NOT NULL PRIMARY KEY IDENTITY,
+ id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
from_account_id BIGINT NOT NULL,
to_account_id BIGINT NOT NULL,
"date" DATE NOT NULL, --escape keyword "date"
diff --git a/financer-server/src/main/resources/database/hsqldb/V27_0_0__taxRelevantFlag.sql b/financer-server/src/main/resources/database/h2/V27_0_0__taxRelevantFlag.sql
similarity index 100%
rename from financer-server/src/main/resources/database/hsqldb/V27_0_0__taxRelevantFlag.sql
rename to financer-server/src/main/resources/database/h2/V27_0_0__taxRelevantFlag.sql
diff --git a/financer-server/src/main/resources/database/hsqldb/V28_0_1__file.sql b/financer-server/src/main/resources/database/h2/V28_0_1__file.sql
similarity index 79%
rename from financer-server/src/main/resources/database/hsqldb/V28_0_1__file.sql
rename to financer-server/src/main/resources/database/h2/V28_0_1__file.sql
index 9b08324..ae976a0 100644
--- a/financer-server/src/main/resources/database/hsqldb/V28_0_1__file.sql
+++ b/financer-server/src/main/resources/database/h2/V28_0_1__file.sql
@@ -1,11 +1,11 @@
CREATE TABLE file (
- id BIGINT NOT NULL PRIMARY KEY IDENTITY,
+ id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
name NVARCHAR(1000) NOT NULL,
content NVARCHAR(4000) NOT NULL
);
CREATE TABLE link_transaction_file (
- id BIGINT NOT NULL PRIMARY KEY IDENTITY,
+ id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
transaction_id BIGINT NOT NULL,
file_id BIGINT NOT NULL,
diff --git a/financer-server/src/main/resources/database/hsqldb/V29_0_0__expenseNeutral.sql b/financer-server/src/main/resources/database/h2/V29_0_0__expenseNeutral.sql
similarity index 100%
rename from financer-server/src/main/resources/database/hsqldb/V29_0_0__expenseNeutral.sql
rename to financer-server/src/main/resources/database/h2/V29_0_0__expenseNeutral.sql
diff --git a/financer-server/src/main/resources/database/hsqldb/V6_0_0__remindFlagRecurringTransaction.sql b/financer-server/src/main/resources/database/h2/V6_0_0__remindFlagRecurringTransaction.sql
similarity index 100%
rename from financer-server/src/main/resources/database/hsqldb/V6_0_0__remindFlagRecurringTransaction.sql
rename to financer-server/src/main/resources/database/h2/V6_0_0__remindFlagRecurringTransaction.sql
diff --git a/financer-server/src/main/resources/database/hsqldb/V7_0_0__accountGroup.sql b/financer-server/src/main/resources/database/h2/V7_0_0__accountGroup.sql
similarity index 89%
rename from financer-server/src/main/resources/database/hsqldb/V7_0_0__accountGroup.sql
rename to financer-server/src/main/resources/database/h2/V7_0_0__accountGroup.sql
index 769184b..bbd5681 100644
--- a/financer-server/src/main/resources/database/hsqldb/V7_0_0__accountGroup.sql
+++ b/financer-server/src/main/resources/database/h2/V7_0_0__accountGroup.sql
@@ -1,6 +1,6 @@
-- Account group table
CREATE TABLE account_group (
- id BIGINT NOT NULL PRIMARY KEY IDENTITY,
+ id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(1000) NOT NULL,
CONSTRAINT un_account_group_name_key UNIQUE (name)
diff --git a/financer-server/src/test/resources/application-integrationtest.properties b/financer-server/src/test/resources/application-integrationtest.properties
index 9f159fb..a8c1fb6 100644
--- a/financer-server/src/test/resources/application-integrationtest.properties
+++ b/financer-server/src/test/resources/application-integrationtest.properties
@@ -1,5 +1,5 @@
-spring.profiles.active=hsqldb,dev
+spring.profiles.active=h2,dev
-spring.datasource.url=jdbc:hsqldb:mem:.
+spring.datasource.url=jdbc:h2:mem:.;DB_CLOSE_DELAY=-1
spring.datasource.username=sa
-spring.flyway.locations=classpath:/database/hsqldb,classpath:/database/hsqldb/integration,classpath:/database/common
\ No newline at end of file
+spring.flyway.locations=classpath:/database/h2,classpath:/database/h2/integration,classpath:/database/common
\ No newline at end of file
diff --git a/financer-web-client/src/test/resources/application-integrationtest.properties b/financer-web-client/src/test/resources/application-integrationtest.properties
index 1fcad4a..cbb42d2 100644
--- a/financer-web-client/src/test/resources/application-integrationtest.properties
+++ b/financer-web-client/src/test/resources/application-integrationtest.properties
@@ -1,5 +1 @@
spring.profiles.active=dev
-
-spring.datasource.url=jdbc:hsqldb:mem:.
-spring.datasource.username=sa
-spring.flyway.locations=classpath:/database/hsqldb,classpath:/database/hsqldb/integration,classpath:/database/common