v1.25: Zaehlerverlauf pro Zaehler inkl. Anomalitaetserkennung mit E-Mail-Benachrichtigung
This commit is contained in:
@@ -138,6 +138,23 @@ CREATE TABLE IF NOT EXISTS meters (
|
||||
);
|
||||
CREATE INDEX IF NOT EXISTS idx_meters_unit ON meters(unit_id);
|
||||
|
||||
-- Zählerverlauf (v1.25): jeder abgelesene Stand bleibt als Listeneintrag
|
||||
-- bestehen; meters.stand ist jeweils der aktuellste Wert (Cache).
|
||||
CREATE TABLE IF NOT EXISTS meter_readings (
|
||||
id TEXT PRIMARY KEY,
|
||||
seq BIGSERIAL, -- Einfügereihenfolge (verlässliche Sortierung)
|
||||
meter_id TEXT NOT NULL REFERENCES meters(id) ON DELETE CASCADE,
|
||||
stand NUMERIC(12,3) NOT NULL,
|
||||
stand_am TEXT NOT NULL, -- ISO yyyy-mm-dd oder de-DE
|
||||
erfasst_von TEXT NOT NULL DEFAULT '', -- Name des erfassenden Nutzers
|
||||
quelle TEXT NOT NULL DEFAULT 'manuel',
|
||||
CHECK (quelle IN ('erstbefund','manuel','mieter')),
|
||||
anomalie BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
anomalie_grund TEXT, -- gesetzt bei Auffälligkeit
|
||||
erstellt_am TEXT NOT NULL
|
||||
);
|
||||
CREATE INDEX IF NOT EXISTS idx_meter_readings_meter ON meter_readings(meter_id);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS buildings (
|
||||
name TEXT PRIMARY KEY, -- eindeutiger Hausname (z. B. "Hauptstraße 12")
|
||||
adresse TEXT NOT NULL,
|
||||
|
||||
Reference in New Issue
Block a user