Check foreign key constraints on inport in import.py

This commit is contained in:
2023-04-08 18:02:15 +02:00
parent 0125e8ecee
commit 6311b19177
2 changed files with 36 additions and 2 deletions

View File

@ -89,6 +89,11 @@ def invalid(mgnr: int, key: str, value) -> None:
print(f'\x1B[1;31m{mgnr:>6}: {key:<12} {value}\x1B[0m', file=sys.stderr)
def renumber_delivery(lsnr_1: str, lsnr_2: str) -> None:
if not args.quiet:
print(f'\x1B[1m{lsnr_1:<14} -> {lsnr_2:<14}\x1B[0m')
def warning_delivery(lsnr: str, mgnr: int, key: str, value) -> None:
print(f'\x1B[1;33m{lsnr:<13} ({mgnr:>6}): {key:<12} {value}\x1B[0m', file=sys.stderr)
@ -704,7 +709,6 @@ def fix_deliveries(deliveries: Iterable[Dict[str, Any]]) -> Iterable[Tuple[str,
if date.year == lsdate.year:
lsnr_n = get_lsnr(date, lsnr)
if lsnr_n not in lsnrs:
print(f'{lsnr} -> {lsnr_n}')
lsnr = lsnr_n
else:
warning_delivery(lsnr, mgnr, 'date', date)
@ -764,10 +768,12 @@ def migrate_deliveries(in_dir: str, out_dir: str) -> None:
for dpnr, linr in enumerate(linrs, start=1):
d = delivery_dict[linr]
delivery_map[linr] = (date.year, snr, dpnr)
if lsnr != d['Lieferscheinnummer']:
renumber_delivery(d['Lieferscheinnummer'], lsnr)
oe = d['OechsleOriginal'] or d['Oechsle']
kmw = GRADATION_MAP[oe]
sortid, attrid = d['SNR'], d['SANR']
sortid, attrid = d['SNR'].upper(), d['SANR'] or None
if len(sortid) != 2:
attrid = sortid[-1]
sortid = sortid[:2]