25 lines
1.1 KiB
SQL
25 lines
1.1 KiB
SQL
-- RTE-02: Ausfuehrung des Regelwerks aus RTE-01 gegen eingehende Objekte.
|
|
-- routing_decisions protokolliert jede Weiterleitung nachvollziehbar
|
|
-- (Akzeptanzkriterium 2), unabhaengig davon ob eine Regel griff oder nicht.
|
|
CREATE TABLE routing_decisions (
|
|
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
object_type TEXT NOT NULL,
|
|
object_id TEXT NOT NULL,
|
|
matched_rule_id UUID REFERENCES routing_rules(id),
|
|
matched_action JSONB,
|
|
decided_at TIMESTAMPTZ NOT NULL DEFAULT now()
|
|
);
|
|
CREATE INDEX routing_decisions_object_idx ON routing_decisions (object_type, object_id);
|
|
|
|
-- Klaerungskorb (Akzeptanzkriterium 1): Objekte ohne zutreffende Regel
|
|
-- landen hier statt verloren zu gehen, bis sie manuell aufgeloest werden.
|
|
CREATE TABLE routing_clarification_basket (
|
|
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
object_type TEXT NOT NULL,
|
|
object_id TEXT NOT NULL,
|
|
reason TEXT NOT NULL,
|
|
created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
|
|
resolved_at TIMESTAMPTZ
|
|
);
|
|
CREATE INDEX routing_clarification_basket_unresolved_idx ON routing_clarification_basket (created_at) WHERE resolved_at IS NULL;
|