-- ===================================================================== -- Omika Diagnostic Center — NETTOYAGE DU SEED LOCAL (FAKE DATA) -- clear_diagnostics_local_seed.sql -- ===================================================================== -- ⚠️ RÉSERVÉ AU DÉVELOPPEMENT LOCAL. Supprime UNIQUEMENT les données -- synthétiques marquées source='local-seed'. Aucun TRUNCATE, aucune -- suppression générale, jamais les vraies données. -- ⚠️ À lancer manuellement (aucune exécution automatique). -- ===================================================================== -- Garde-fou : refuse de s'exécuter hors de la base locale omika_diagnostics. DO $$ BEGIN IF current_database() <> 'omika_diagnostics' THEN RAISE EXCEPTION 'REFUS : nettoyage LOCAL uniquement sur la base omika_diagnostics (base détectée : %).', current_database(); END IF; END $$; -- Suppression ciblée et sûre. DELETE FROM diagnostic_event WHERE source = 'local-seed'; -- ===================================================================== -- VÉRIFICATION (T13-G §28) — procédure de contrôle à exécuter séparément. -- Objectif : démontrer que le nettoyage supprime UNIQUEMENT le seed local -- et préserve toute ligne réelle (source <> 'local-seed'). -- -- AVANT nettoyage (état attendu : 1 vraie ligne + N lignes local-seed) : -- SELECT count(*) FILTER (WHERE source = 'local-seed') AS seed_rows, -- count(*) FILTER (WHERE source <> 'local-seed') AS real_rows -- FROM diagnostic_event; -- -- APRÈS exécution de ce script, vérifier : -- SELECT count(*) FROM diagnostic_event WHERE source = 'local-seed'; -- -- attendu : 0 -- SELECT count(*) FROM diagnostic_event WHERE source <> 'local-seed'; -- -- attendu : inchangé (la vraie ligne est conservée) -- -- GARANTIE STRUCTURELLE : l'unique instruction de suppression est bornée par -- le marqueur source = 'local-seed'. Aucun TRUNCATE, aucun DELETE sans filtre. -- =====================================================================