new features

This commit is contained in:
Matthias Hochmeister
2026-03-23 14:01:39 +01:00
parent d2dc64d54a
commit 3326156b15
35 changed files with 1341 additions and 257 deletions

View File

@@ -0,0 +1,42 @@
-- Migration 041: Status history tables, booking ganztaegig flag
-- Adds vehicle/equipment status change tracking and whole-day booking support.
-- ═══════════════════════════════════════════════════════════════════════════
-- 1. Vehicle Status Change History
-- ═══════════════════════════════════════════════════════════════════════════
CREATE TABLE IF NOT EXISTS fahrzeug_status_historie (
id SERIAL PRIMARY KEY,
fahrzeug_id UUID NOT NULL REFERENCES fahrzeuge(id) ON DELETE CASCADE,
alter_status TEXT NOT NULL,
neuer_status TEXT NOT NULL,
bemerkung TEXT,
geaendert_von UUID REFERENCES users(id) ON DELETE SET NULL,
erstellt_am TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE INDEX IF NOT EXISTS idx_fahrzeug_status_historie_fahrzeug ON fahrzeug_status_historie(fahrzeug_id);
CREATE INDEX IF NOT EXISTS idx_fahrzeug_status_historie_zeit ON fahrzeug_status_historie(erstellt_am DESC);
-- ═══════════════════════════════════════════════════════════════════════════
-- 2. Equipment Status Change History
-- ═══════════════════════════════════════════════════════════════════════════
CREATE TABLE IF NOT EXISTS ausruestung_status_historie (
id SERIAL PRIMARY KEY,
ausruestung_id INT NOT NULL REFERENCES ausruestung(id) ON DELETE CASCADE,
alter_status TEXT NOT NULL,
neuer_status TEXT NOT NULL,
bemerkung TEXT,
geaendert_von UUID REFERENCES users(id) ON DELETE SET NULL,
erstellt_am TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE INDEX IF NOT EXISTS idx_ausruestung_status_historie_ausr ON ausruestung_status_historie(ausruestung_id);
CREATE INDEX IF NOT EXISTS idx_ausruestung_status_historie_zeit ON ausruestung_status_historie(erstellt_am DESC);
-- ═══════════════════════════════════════════════════════════════════════════
-- 3. Whole-day booking flag
-- ═══════════════════════════════════════════════════════════════════════════
ALTER TABLE fahrzeug_buchungen ADD COLUMN IF NOT EXISTS ganztaegig BOOLEAN DEFAULT FALSE;