database: Add area_commitment_contract

This commit is contained in:
2026-03-30 19:39:52 +02:00
parent 3c49bb3ce6
commit dd16929d61
3 changed files with 108 additions and 21 deletions

View File

@@ -174,28 +174,49 @@ CREATE TABLE member_email_address (
ON DELETE CASCADE
) STRICT;
CREATE TABLE area_commitment (
CREATE TABLE area_commitment_contract (
fbnr INTEGER NOT NULL,
mgnr INTEGER NOT NULL,
vtrgid TEXT NOT NULL,
cultid TEXT DEFAULT NULL,
area INTEGER NOT NULL,
kgnr INTEGER NOT NULL,
gstnr TEXT NOT NULL,
rdnr INTEGER,
year_from INTEGER CHECK (year_from >= 1000 AND year_from <= 9999) DEFAULT NULL,
year_to INTEGER CHECK (year_to >= 1000 AND year_to <= 9999) DEFAULT NULL,
comment TEXT DEFAULT NULL,
ctime INTEGER NOT NULL DEFAULT (UNIXEPOCH()),
mtime INTEGER NOT NULL DEFAULT (UNIXEPOCH()),
xtime INTEGER DEFAULT NULL,
itime INTEGER DEFAULT NULL,
CONSTRAINT pk_area_commitment PRIMARY KEY (fbnr),
CONSTRAINT area_commitment_contract PRIMARY KEY (fbnr),
CONSTRAINT fk_area_commitment_contract_wb_kg FOREIGN KEY (kgnr) REFERENCES wb_kg (kgnr)
ON UPDATE CASCADE
ON DELETE RESTRICT,
CONSTRAINT fk_area_commitment_contract_wb_rd FOREIGN KEY (kgnr, rdnr) REFERENCES wb_rd (kgnr, rdnr)
ON UPDATE CASCADE
ON DELETE RESTRICT
) STRICT;
CREATE TABLE area_commitment (
fbnr INTEGER NOT NULL,
revnr INTEGER NOT NULL,
mgnr INTEGER NOT NULL,
vtrgid TEXT NOT NULL,
cultid TEXT DEFAULT NULL,
area INTEGER NOT NULL,
gstnr TEXT NOT NULL,
year_from INTEGER CHECK (year_from >= 1000 AND year_from <= 9999) DEFAULT NULL,
year_to INTEGER CHECK (year_to >= 1000 AND year_to <= 9999) DEFAULT NULL,
ctime INTEGER NOT NULL DEFAULT (UNIXEPOCH()),
mtime INTEGER NOT NULL DEFAULT (UNIXEPOCH()),
xtime INTEGER DEFAULT NULL,
itime INTEGER DEFAULT NULL,
CONSTRAINT pk_area_commitment PRIMARY KEY (fbnr, revnr),
CONSTRAINT fk_area_commitment_area_commitment_contract FOREIGN KEY (fbnr) REFERENCES area_commitment_contract (fbnr)
ON UPDATE CASCADE
ON DELETE CASCADE,
CONSTRAINT fk_area_commitment_member FOREIGN KEY (mgnr) REFERENCES member (mgnr)
ON UPDATE CASCADE
ON DELETE RESTRICT,
@@ -203,12 +224,6 @@ CREATE TABLE area_commitment (
ON UPDATE CASCADE
ON DELETE RESTRICT,
CONSTRAINT fk_area_commitment_wine_cultivation FOREIGN KEY (cultid) REFERENCES wine_cultivation (cultid)
ON UPDATE CASCADE
ON DELETE RESTRICT,
CONSTRAINT fk_area_commitment_wb_kg FOREIGN KEY (kgnr) REFERENCES wb_kg (kgnr)
ON UPDATE CASCADE
ON DELETE RESTRICT,
CONSTRAINT fk_area_commitment_wb_rd FOREIGN KEY (kgnr, rdnr) REFERENCES wb_rd (kgnr, rdnr)
ON UPDATE CASCADE
ON DELETE RESTRICT
) STRICT;