Capitolo 6: Confronto e Sincronizzazione Schemi
Info: Questo capitolo illustra l’individuazione di discrepanze strutturali (Schema Drift) tra due database, la matrice visuale di differenze e le salvaguardie di backup automatico.
In questo capitolo:
- 6.1 Rilevamento delle Differenze di Schema
- 6.2 Matrice Visuale delle Differenze
- 6.3 Meccanismi di Sicurezza e Backup
- Temi correlati
6.1 Rilevamento delle Differenze di Schema
Nel corso dello sviluppo, i database di test e di produzione tendono a divergere progressivamente (Schema Drift). SQLOZ confronta le istanze per garantire un allineamento controllato:
- Aprite dal menu Strumenti → Confronta Schemi….
- Origine (Source): Il database di riferimento (es.
local_dev). - Destinazione (Target): Il database da aggiornare (es.
production_db). - Cliccate su Confronta.
6.2 Matrice Visuale delle Differenze
Le difformità vengono classificate mediante una matrice a colori:
- 🟢 Verde: Elemento presente nell’origine ma mancante nella destinazione (
CREATE TABLE,ADD COLUMN). - 🟡 Giallo: Elemento presente in entrambi ma con tipo o indice differente (
ALTER TABLE). - 🔴 Rosso: Elemento eliminato nell’origine ma ancora presente nella destinazione (
DROP).
6.3 Meccanismi di Sicurezza e Backup
Prima di premere Applica Sincronizzazione, SQLOZ attiva controlli rigorosi:
- Backup automatico della tabella (
_sqloz_bak_...): Per MySQL/MariaDB, prima di eseguire DDL distruttivi (DROP TABLE,DROP COLUMN,MODIFY COLUMN), i dati della tabella bersaglio vengono duplicati in una tabella con timestamp:CREATE TABLE IF NOT EXISTS `_sqloz_bak_<timestamp>_users` AS SELECT * FROM `users`; - Script di rollback e ripristino: Quando il backup viene completato, SQLOZ genera lo script per annullare le modifiche e le query per reintegrare i dati salvati.
- Protezione da cancellazioni distruttive: Qualsiasi eliminazione definitiva di tabelle o colonne in produzione richiede una conferma esplicita dell’utente.
Avvertenza: Su PostgreSQL e SQLite non vengono generate tabelle di backup automatiche. Effettuate sempre un dump preventivo prima di sincronizzare strutture su questi motori.
