database: Add calc_mode to season
This commit is contained in:
@ -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)
|
||||
|
@ -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
|
||||
|
@ -1,3 +1,3 @@
|
||||
|
||||
-- This value MUST NOT be changed while other connections are open!
|
||||
PRAGMA schema_version = 1400;
|
||||
PRAGMA schema_version = 1500;
|
||||
|
Reference in New Issue
Block a user