database: fix billing calculcation
This commit is contained in:
@ -19,22 +19,26 @@ CREATE TABLE branch (
|
||||
mobile_nr TEXT DEFAULT NULL CHECK (mobile_nr REGEXP '^\+[0-9]{1,3}( [0-9]+)+(-[0-9]+)?$'),
|
||||
|
||||
CONSTRAINT pk_branch PRIMARY KEY (zwstid),
|
||||
CONSTRAINT sk_branch_name UNIQUE (name),
|
||||
CONSTRAINT fk_branch_postal_dest FOREIGN KEY (country, postal_dest) REFERENCES postal_dest (country, id)
|
||||
ON UPDATE CASCADE
|
||||
ON DELETE RESTRICT
|
||||
) STRICT;
|
||||
|
||||
CREATE TABLE wine_attribute (
|
||||
attrid TEXT NOT NULL CHECK (attrid REGEXP '^[A-Z]+$'),
|
||||
name TEXT NOT NULL,
|
||||
attrid TEXT NOT NULL CHECK (attrid REGEXP '^[A-Z]+$'),
|
||||
name TEXT NOT NULL,
|
||||
active INTEGER NOT NULL CHECK (active IN (TRUE, FALSE)) DEFAULT TRUE,
|
||||
|
||||
max_kg_per_ha INTEGER,
|
||||
fill_lower_bins INTEGER NOT NULL CHECK (fill_lower_bins IN (0, 1, 2)) DEFAULT 0,
|
||||
active INTEGER NOT NULL CHECK (active IN (TRUE, FALSE)) DEFAULT TRUE,
|
||||
max_kg_per_ha INTEGER,
|
||||
strict INTEGER NOT NULL CHECK (strict IN (TRUE, FALSE)) DEFAULT FALSE,
|
||||
fill_lower INTEGER NOT NULL CHECK (fill_lower IN (0, 1, 2)) DEFAULT 0,
|
||||
|
||||
CONSTRAINT pk_wine_attribute PRIMARY KEY (attrid)
|
||||
CONSTRAINT pk_wine_attribute PRIMARY KEY (attrid),
|
||||
CONSTRAINT sk_wine_attribute_name UNIQUE (name)
|
||||
) STRICT;
|
||||
|
||||
-- all values in the table are stored with precision 4!
|
||||
CREATE TABLE area_commitment_type (
|
||||
vtrgid TEXT NOT NULL CHECK (vtrgid = sortid || COALESCE(attrid, '') || disc),
|
||||
sortid TEXT NOT NULL,
|
||||
@ -42,8 +46,9 @@ CREATE TABLE area_commitment_type (
|
||||
disc TEXT DEFAULT NULL CHECK (disc REGEXP '^[A-Z0-9]+$'),
|
||||
|
||||
min_kg_per_ha INTEGER,
|
||||
max_kg_per_ha INTEGER,
|
||||
penalty_per_kg INTEGER,
|
||||
penalty_amount INTEGER,
|
||||
penalty_none INTEGER,
|
||||
|
||||
CONSTRAINT pk_area_commitment_type PRIMARY KEY (vtrgid),
|
||||
CONSTRAINT sk_area_commitment_type_sort_attr UNIQUE (sortid, attrid, disc),
|
||||
@ -56,10 +61,12 @@ CREATE TABLE area_commitment_type (
|
||||
) STRICT;
|
||||
|
||||
CREATE TABLE wine_cultivation (
|
||||
cultid TEXT NOT NULL CHECK (cultid REGEXP '^[A-Z]+$'),
|
||||
name TEXT NOT NULL,
|
||||
cultid TEXT NOT NULL CHECK (cultid REGEXP '^[A-Z]+$'),
|
||||
name TEXT NOT NULL,
|
||||
description TEXT DEFAULT NULL,
|
||||
|
||||
CONSTRAINT pk_wine_cultivation PRIMARY KEY (cultid)
|
||||
CONSTRAINT pk_wine_cultivation PRIMARY KEY (cultid),
|
||||
CONSTRAINT sk_wine_cultivation_name UNIQUE (name)
|
||||
) STRICT;
|
||||
|
||||
CREATE TABLE member (
|
||||
@ -84,6 +91,7 @@ CREATE TABLE member (
|
||||
ustid_nr TEXT CHECK (ustid_nr REGEXP '^[A-Z]{2}[A-Z0-9]{2,12}$') DEFAULT NULL,
|
||||
volllieferant INTEGER NOT NULL CHECK (volllieferant IN (TRUE, FALSE)) DEFAULT FALSE,
|
||||
buchführend INTEGER NOT NULL CHECK (buchführend IN (TRUE, FALSE)) DEFAULT FALSE,
|
||||
organic INTEGER NOT NULL CHECK (organic IN (TRUE, FALSE)) DEFAULT FALSE,
|
||||
funktionär INTEGER NOT NULL CHECK (funktionär IN (TRUE, FALSE)) DEFAULT FALSE,
|
||||
active INTEGER NOT NULL CHECK (active IN (TRUE, FALSE)) DEFAULT TRUE,
|
||||
deceased INTEGER NOT NULL CHECK (deceased IN (TRUE, FALSE)) DEFAULT FALSE,
|
||||
|
Reference in New Issue
Block a user