From f34bd366bc4fd902ba0082f70b4abae97b94b4a3 Mon Sep 17 00:00:00 2001 From: Lorenz Stechauner Date: Wed, 31 Jan 2024 11:28:37 +0100 Subject: [PATCH] database: Add calc_mode to season --- sql/v01/12.create.season.sql | 1 + sql/v01/13.create.payment.sql | 6 ++++-- sql/v01/99.schema_version.sql | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/sql/v01/12.create.season.sql b/sql/v01/12.create.season.sql index 107adad..ff4acbc 100644 --- a/sql/v01/12.create.season.sql +++ b/sql/v01/12.create.season.sql @@ -17,6 +17,7 @@ CREATE TABLE season ( start_date TEXT CHECK (start_date REGEXP '^[1-9][0-9]{3}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$'), end_date TEXT CHECK (end_date REGEXP '^[1-9][0-9]{3}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$'), + calc_mode INTEGER NOT NULL DEFAULT 0, CONSTRAINT pk_season PRIMARY KEY (year), CONSTRAINT fk_season_currency FOREIGN KEY (currency) REFERENCES currency (code) diff --git a/sql/v01/13.create.payment.sql b/sql/v01/13.create.payment.sql index bbb7c1e..1ff9bef 100644 --- a/sql/v01/13.create.payment.sql +++ b/sql/v01/13.create.payment.sql @@ -68,7 +68,9 @@ BEGIN SET net_amount = net_amount - OLD.amount WHERE (year, avnr, mgnr) IN (SELECT year, OLD.avnr, mgnr FROM delivery WHERE (year, did) = (OLD.year, OLD.did)); INSERT INTO payment_member (year, avnr, mgnr, net_amount) - SELECT year, NEW.avnr, mgnr, NEW.amount FROM delivery WHERE (year, did) = (NEW.year, NEW.did) + SELECT d.year, v.avnr, d.mgnr, NEW.amount + FROM delivery d, payment_variant v + WHERE (d.year, d.did) = (NEW.year, NEW.did) AND (v.year, v.avnr) = (NEW.year, NEW.avnr) ON CONFLICT DO UPDATE SET net_amount = net_amount + excluded.net_amount; END; @@ -94,7 +96,7 @@ CREATE TABLE payment_delivery_part_bucket ( CONSTRAINT pk_payment_delivery_part_bucket PRIMARY KEY (year, did, dpnr, bktnr, avnr), CONSTRAINT fk_payment_delivery_part_bucket_delivery_part_bucket FOREIGN KEY (year, did, dpnr, bktnr) REFERENCES delivery_part_bucket (year, did, dpnr, bktnr) ON UPDATE CASCADE - ON DELETE CASCADE, + ON DELETE RESTRICT, CONSTRAINT fk_payment_delivery_part_bucket_payment_variant FOREIGN KEY (year, avnr) REFERENCES payment_variant (year, avnr) ON UPDATE CASCADE ON DELETE CASCADE diff --git a/sql/v01/99.schema_version.sql b/sql/v01/99.schema_version.sql index 09a4851..39c9913 100644 --- a/sql/v01/99.schema_version.sql +++ b/sql/v01/99.schema_version.sql @@ -1,3 +1,3 @@ -- This value MUST NOT be changed while other connections are open! -PRAGMA schema_version = 1400; +PRAGMA schema_version = 1500;