database: Add active to modifier

This commit is contained in:
2024-07-06 18:44:41 +02:00
parent 59b0b6ce48
commit 8e0047c901
3 changed files with 4 additions and 7 deletions

View File

@ -30,15 +30,13 @@ CREATE TABLE season (
CREATE TABLE modifier ( CREATE TABLE modifier (
year INTEGER NOT NULL, year INTEGER NOT NULL,
modid TEXT NOT NULL CHECK (modid REGEXP '^[A-Z0-9]+$'), modid TEXT NOT NULL CHECK (modid REGEXP '^[A-Z0-9]+$'),
active INTEGER NOT NULL CHECK (active IN (TRUE, FALSE)) DEFAULT TRUE,
ordering INTEGER NOT NULL, ordering INTEGER NOT NULL,
name TEXT NOT NULL, name TEXT NOT NULL,
abs INTEGER, abs INTEGER,
rel REAL, rel REAL,
standard INTEGER NOT NULL CHECK (standard IN (TRUE, FALSE)),
quick_select INTEGER NOT NULL CHECK (quick_select IN (TRUE, FALSE)),
CONSTRAINT pk_modifier PRIMARY KEY (year, modid), CONSTRAINT pk_modifier PRIMARY KEY (year, modid),
CONSTRAINT fk_modifier_season FOREIGN KEY (year) REFERENCES season (year) CONSTRAINT fk_modifier_season FOREIGN KEY (year) REFERENCES season (year)
ON UPDATE CASCADE ON UPDATE CASCADE

View File

@ -1,3 +1,3 @@
-- This value MUST NOT be changed while other connections are open! -- This value MUST NOT be changed while other connections are open!
PRAGMA schema_version = 2300; PRAGMA schema_version = 2400;

View File

@ -1743,7 +1743,7 @@ def migrate_deliveries(in_dir: str, out_dir: str) -> None:
f_season.header('year', 'currency', 'precision', 'max_kg_per_ha', 'vat_normal', 'vat_flatrate', f_season.header('year', 'currency', 'precision', 'max_kg_per_ha', 'vat_normal', 'vat_flatrate',
'min_kg_per_bs', 'max_kg_per_bs', 'penalty_per_kg', 'penalty_amount', 'penalty_none', 'min_kg_per_bs', 'max_kg_per_bs', 'penalty_per_kg', 'penalty_amount', 'penalty_none',
'penalty_per_bs_amount', 'penalty_per_bs_none', 'start_date', 'end_date') 'penalty_per_bs_amount', 'penalty_per_bs_none', 'start_date', 'end_date')
f_mod.header('year', 'modid', 'ordering', 'name', 'abs', 'rel', 'standard', 'quick_select') f_mod.header('year', 'modid', 'ordering', 'name', 'abs', 'rel', 'active')
for y, s in seasons.items(): for y, s in seasons.items():
f_season.row(y, s['currency'], s['precision'], 10_000, 0.10, 0.13, f_season.row(y, s['currency'], s['precision'], 10_000, 0.10, 0.13,
PARAMETERS['LIEFERPFLICHT/GA1'], PARAMETERS['LIEFERRECHT/GA1'], PARAMETERS['LIEFERPFLICHT/GA1'], PARAMETERS['LIEFERRECHT/GA1'],
@ -1751,8 +1751,7 @@ def migrate_deliveries(in_dir: str, out_dir: str) -> None:
for m in modifiers.values(): for m in modifiers.values():
abs_v = round(m['AZAS'] * pow(10, s['precision'])) if m['AZAS'] is not None else None abs_v = round(m['AZAS'] * pow(10, s['precision'])) if m['AZAS'] is not None else None
rel_v = m['AZASProzent'] / 100.0 if m['AZASProzent'] is not None else None rel_v = m['AZASProzent'] / 100.0 if m['AZASProzent'] is not None else None
f_mod.row(y, m['id'], m['ASNR'], m['Bezeichnung'], abs_v, rel_v, f_mod.row(y, m['id'], m['ASNR'], m['Bezeichnung'], abs_v, rel_v, True)
m.get('Standard', False), m['Schnellauswahl'])
def migrate_payments(in_dir: str, out_dir: str) -> None: def migrate_payments(in_dir: str, out_dir: str) -> None: