Spaces:
Sleeping
Sleeping
File size: 1,390 Bytes
5fa8558 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
-- =====================================================
-- AUDIT : Traçabilité des appels API / prédictions
-- =====================================================
CREATE SCHEMA IF NOT EXISTS audit;
-- 1) Requêtes (inputs envoyés au modèle)
DROP TABLE IF EXISTS audit.prediction_requests;
CREATE TABLE audit.prediction_requests (
request_id BIGSERIAL PRIMARY KEY,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
id_employee INT NULL,
payload JSONB NOT NULL
);
-- 2) Réponses (outputs générés par le modèle)
DROP TABLE IF EXISTS audit.prediction_responses;
CREATE TABLE audit.prediction_responses (
response_id BIGSERIAL PRIMARY KEY,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
request_id BIGINT NOT NULL
REFERENCES audit.prediction_requests(request_id)
ON DELETE CASCADE,
proba DOUBLE PRECISION NOT NULL,
prediction INT NOT NULL,
threshold DOUBLE PRECISION NOT NULL,
status TEXT NOT NULL DEFAULT 'OK',
error_message TEXT NULL
);
-- Index utiles
CREATE INDEX IF NOT EXISTS idx_pred_req_employee
ON audit.prediction_requests(id_employee);
CREATE INDEX IF NOT EXISTS idx_pred_req_created_at
ON audit.prediction_requests(created_at);
CREATE INDEX IF NOT EXISTS idx_pred_res_request_id
ON audit.prediction_responses(request_id);
|