Premiere commit - Omika
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
-- ============================================================
|
||||
-- Omika Diagnostic Center -- 016_diagnostics_event_delete.sql
|
||||
-- Erreurs : autorise la suppression d'un groupe d'erreurs complet (V2).
|
||||
-- ============================================================
|
||||
-- TO RUN ON SRV-OMIKA as PostgreSQL superuser (e.g. psql -U postgres -d <base> -f 016_...),
|
||||
-- AFTER 003 (rôles owner/worker/web).
|
||||
--
|
||||
-- Guarantees :
|
||||
-- - PostgreSQL 18 compatible.
|
||||
-- - Idempotent : re-running is a no-op (GRANT is idempotent).
|
||||
-- - Non destructive : NO DROP, NO DELETE/TRUNCATE, no data removal.
|
||||
-- - NO password, NO secret.
|
||||
--
|
||||
-- Jusqu'ici le rôle Web (omika_diagnostics_web) n'avait que SELECT sur
|
||||
-- diagnostic_event (migration 003) : il lisait les événements mais ne pouvait jamais en
|
||||
-- supprimer. La V2 ajoute, sur la page /Erreurs, un bouton « Supprimer le groupe » qui
|
||||
-- supprime TOUTES les occurrences d'un groupe d'erreurs (signature normalisée :
|
||||
-- event_code + error_code/exception_type/component). Le DELETE est exécuté par le Web,
|
||||
-- donc on accorde le privilège DELETE au seul rôle Web (moindre privilège).
|
||||
--
|
||||
-- Le Worker (omika_diagnostics_worker) conserve déjà SELECT + DELETE (migration 004,
|
||||
-- rétention par lots bornés) ; son périmètre est inchangé. L'API n'a AUCUN droit de
|
||||
-- suppression. Le DELETE du Web est borné par la signature du groupe (jamais un DELETE
|
||||
-- massif non filtré) et restreint aux niveaux d'erreur réels par le code applicatif.
|
||||
-- ============================================================
|
||||
|
||||
GRANT DELETE ON TABLE diagnostic_event TO omika_diagnostics_web;
|
||||
|
||||
-- ============================================================
|
||||
-- END 016. Ordre serveur : 001 -> 002 -> ... -> 015 -> 016.
|
||||
-- ============================================================
|
||||
Reference in New Issue
Block a user