
DevEnv nis2-agileandClaude Opus 4.8
2b6c5087ad
[DB] Hardening integrità chiavi (mig.058): +4 UNIQUE +8 FK, retry-on-1062, bonifica 16 righe stale — v1.23.1
Estende l'audit mig.039 ai moduli 040-057 (non coperti).
TIER1 additivo (0 dup/0 orfani verificati su DB live):
- UNIQUE internal_audits/management_reviews (org,code), kb_uploaded_documents.qdrant_doc_uuid,
whistleblowing_reports.anonymous_token (drop idx_token ridondante)
- retry-on-1062 in InternalAuditController/ManagementReviewController (allineati a periodic_controls)
- 6 FK: consulting_firm_id (organizations/users/kb)->consulting_firms; isms_soa.linked_control_id;
isms_documents.linked_policy_id; management_review_decisions.capa_id (tutte SET NULL)
TIER2 bonifica (backup pre-DELETE in .backups/): -9 firm_org_assignments orfane (org 126-129,
chiude deferred-b mig.039) -7 active_sessions scadute, +2 FK CASCADE.
FK totali 196->204. Sonda diagnostica db_integrity_probe.php. audit_logs lasciato by-design.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 07:57:25 +02:00
..
2026-02-17 17:50:18 +01:00
2026-02-17 19:12:46 +01:00
2026-02-18 08:12:57 +01:00
2026-02-18 08:12:57 +01:00
2026-02-20 08:53:30 +01:00
2026-02-20 12:08:44 +01:00
2026-03-07 13:22:08 +01:00
2026-03-07 13:22:08 +01:00
2026-03-07 13:22:08 +01:00
2026-03-07 13:56:53 +01:00
2026-03-07 15:02:11 +01:00
2026-05-29 15:44:13 +02:00
2026-03-07 15:22:25 +01:00
2026-05-29 15:44:13 +02:00
2026-03-07 16:48:53 +01:00
2026-03-10 08:51:52 +01:00
2026-05-29 13:18:35 +02:00
2026-05-29 13:18:35 +02:00
2026-05-29 13:18:35 +02:00
2026-05-29 13:18:35 +02:00
2026-05-29 13:18:35 +02:00
2026-05-29 17:15:13 +02:00
2026-05-29 17:15:13 +02:00
2026-05-29 17:15:13 +02:00
2026-05-30 08:41:57 +02:00
2026-05-30 08:55:26 +02:00
2026-05-30 09:14:12 +02:00
2026-05-30 09:25:46 +02:00
2026-05-30 10:19:01 +02:00
2026-05-30 10:20:59 +02:00
2026-05-30 10:51:44 +02:00
2026-05-30 11:39:38 +02:00
2026-05-31 08:07:38 +02:00
2026-05-31 11:16:43 +02:00
2026-05-31 11:16:43 +02:00
2026-05-31 09:53:07 +02:00
2026-05-31 09:53:07 +02:00
2026-06-01 08:02:59 +02:00
2026-06-11 11:32:42 +02:00
2026-06-11 11:32:42 +02:00
2026-06-14 16:35:41 +02:00
2026-06-12 18:15:37 +02:00
2026-06-15 16:56:56 +02:00
2026-06-15 18:05:56 +02:00
2026-06-15 19:01:32 +02:00
2026-06-15 22:44:08 +02:00
2026-06-15 23:10:28 +02:00
2026-06-15 23:10:28 +02:00
2026-06-16 17:07:12 +02:00
2026-06-16 17:41:16 +02:00
2026-06-16 18:18:28 +02:00
2026-06-16 19:24:29 +02:00
2026-06-16 19:59:35 +02:00
2026-06-16 20:54:57 +02:00
2026-06-16 22:12:11 +02:00
2026-06-16 22:20:14 +02:00
2026-06-16 22:52:31 +02:00
2026-06-17 07:48:49 +02:00
2026-06-17 07:48:49 +02:00
2026-06-17 09:21:03 +02:00
2026-06-18 07:57:25 +02:00
2026-03-07 16:48:53 +01:00
2026-03-09 09:51:40 +01:00
2026-05-29 15:42:05 +02:00