provisioning-server/migrations/0025_device_installation_events.sql
Thomas Stallinger 51fbf0fa0e devices: Installations-Meilensteine/Fehlschlaege melden (device_installation_events)
Neue Tabelle (Migration 0025) + POST /api/v1/devices/{device_id}/
installation-events (device_fingerprint-authentifiziert statt Service-
Token - das Geraet hat waehrend der Installation noch kein agent_secret,
gleiches Vertrauensniveau wie /api/v1/activate) + GET-Gegenstueck
(Service-Token, fuer die Kundenplattform).

Nutzer-Wunsch (01.09.2026, nach dem ersten echten Hardware-Test):
Fehlschlaege waehrend der Installation sichtbar machen, ohne am
Bildschirm mitschreiben zu muessen ("das ist kein Flow"). Bewusst
getrennt von device_merkmal_events (andere Lebensphase, andere Auth,
kein Merkmal-Bezug) und zunaechst nur admin-/operatorseitig ausgewertet -
ob/wie umfangreich der Kunde das in seiner eigenen GUI sieht, ist noch
offen (Nutzer: "das können wir noch wann anders diskutieren").
2026-09-01 16:20:50 +02:00

26 lines
1.0 KiB
PL/PgSQL

BEGIN;
-- Installations-Meilensteine/Fehlschlaege vom Boot-Medium selbst gemeldet -
-- andere Lebensphase als device_merkmal_events (laeuft schon waehrend der
-- Installation, bevor das Geraet ein agent_secret hat) und andere Datenform
-- (kein merkmal_id-Bezug), deshalb eigene Tabelle statt Wiederverwendung.
-- Nutzer-Wunsch (01.09.2026, nach dem ersten echten Hardware-Test):
-- Fehlschlaege waehrend der Installation sichtbar machen, ohne am
-- Bildschirm mitschreiben/-fotografieren zu muessen. Bewusst zunaechst nur
-- admin-/operatorseitig ausgewertet (siehe kundenplattform) - ob und wie
-- umfangreich das dem Kunden selbst gezeigt wird, ist noch offen.
CREATE TABLE device_installation_events (
id UUID PRIMARY KEY,
device_id UUID NOT NULL
REFERENCES devices(id)
ON DELETE CASCADE,
event_type TEXT NOT NULL,
detail TEXT,
occurred_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP
);
CREATE INDEX idx_device_installation_events_device_id
ON device_installation_events(device_id);
COMMIT;