- Add reference from Transaction to the RecurringTransaction that created the transaction

- Add BANK as valid booking target of a BANK account
- Remove EXPENSE as valid booking target of a LIABILITY account
- Fix a bug in the getMultiplierFromAccount and getMultiplierToAccount methods that caused the result to always be the default case
- Adjust init SQL script to reflect the changes done
- Add a sample integration test
- Add unit tests for the RuleService
- Configure surefire plugin
- Add a profile for integration test running
This commit is contained in:
2019-02-17 23:42:24 +01:00
parent 86ccb0b52c
commit dfe1e08dc7
9 changed files with 522 additions and 29 deletions

View File

@@ -10,7 +10,7 @@ CREATE TABLE account (
status VARCHAR(255) NOT NULL,
current_balance BIGINT NOT NULL,
CONSTRAINT c_u_name_key UNIQUE ("key")
CONSTRAINT un_account_name_key UNIQUE ("key")
);
INSERT INTO account ("key", type, status, current_balance)
@@ -25,20 +25,7 @@ VALUES ('accounts.cash', 'CASH', 'OPEN', 0);
INSERT INTO account ("key", type, status, current_balance)
VALUES ('accounts.start', 'START', 'OPEN', 0);
-- Transaction table
CREATE TABLE "transaction" ( --escape keyword "transaction"
id BIGINT NOT NULL PRIMARY KEY IDENTITY,
from_account_id BIGINT NOT NULL,
to_account_id BIGINT NOT NULL,
"date" DATE NOT NULL, --escape keyword "date"
description VARCHAR(1000),
amount BIGINT NOT NULL,
CONSTRAINT fk_from_account FOREIGN KEY (from_account_id) REFERENCES account (id),
CONSTRAINT fk_to_account FOREIGN KEY (to_account_id) REFERENCES account (id)
);
-- Transaction table
-- Recurring transaction table
CREATE TABLE recurring_transaction (
id BIGINT NOT NULL PRIMARY KEY IDENTITY,
from_account_id BIGINT NOT NULL,
@@ -50,6 +37,21 @@ CREATE TABLE recurring_transaction (
last_occurrence DATE,
holiday_weekend_type VARCHAR(255) NOT NULL,
CONSTRAINT fk_from_account FOREIGN KEY (from_account_id) REFERENCES account (id),
CONSTRAINT fk_to_account FOREIGN KEY (to_account_id) REFERENCES account (id)
CONSTRAINT fk_recurring_transaction_from_account FOREIGN KEY (from_account_id) REFERENCES account (id),
CONSTRAINT fk_recurring_transaction_to_account FOREIGN KEY (to_account_id) REFERENCES account (id)
);
-- Transaction table
CREATE TABLE "transaction" ( --escape keyword "transaction"
id BIGINT NOT NULL PRIMARY KEY IDENTITY,
from_account_id BIGINT NOT NULL,
to_account_id BIGINT NOT NULL,
"date" DATE NOT NULL, --escape keyword "date"
description VARCHAR(1000),
amount BIGINT NOT NULL,
recurring_transaction_id BIGINT NOT NULL,
CONSTRAINT fk_transaction_from_account FOREIGN KEY (from_account_id) REFERENCES account (id),
CONSTRAINT fk_transaction_to_account FOREIGN KEY (to_account_id) REFERENCES account (id),
CONSTRAINT fk_transaction_recurring_transaction FOREIGN KEY (recurring_transaction_id) REFERENCES recurring_transaction (id)
);