--- aliases: ["DbComparer"] type: progetto --- # CLAUDE.md — DbComparer **Ultimo aggiornamento:** 2026-02 ## Contesto Tool generico per confrontare dati tra tabelle di due database (SQLite o MS Access). Genera un report Excel con le discrepanze trovate. Usato principalmente per validare l'output di DataHub vs il sistema Access di riferimento Mediaset. ## Come avviare ```bash # Con argomenti CLI python main.py --sqlite-db --access-db [opzioni] # Con file di configurazione (più comodo) python main.py --config dbcomparer_config.json ``` **Argomenti principali:** - `--sqlite-db` / `--access-db` — path ai due DB da confrontare - `--sqlite-table` — tabella SQLite (default: `rpt_prodotti_summary`) - `--sqlite-index` — colonna indice SQLite (default: `rifer`) - `--access-table` — tabella Access (default: `CUSTOM_ANAGR_ORIZ`) - `--access-index` — colonna indice Access (default: `RIFER`) ## Tech stack - Python + pandas + openpyxl - pyodbc per MS Access (richiede driver ODBC Access installato su Windows) - Configurazione via `dbcomparer_config.json` oppure argomenti CLI ## Architettura File unico: `main.py`. Nessuna struttura a moduli. **Configurazione** (`dbcomparer_config.json`): - Supporta confronto tra due DB qualsiasi (non solo SQLite vs Access) - `smart_options`: tolleranze su date, numeri, testo troncato, null equivalenti **Output:** file Excel nella directory corrente — nome formato `confronto_[tab1]_vs_[tab2]_[timestamp].xlsx` ## Stato attuale Progetto **completed** — funziona, non in sviluppo attivo. Usato on-demand per validazione DataHub. ## Non fare mai - Non modificare `dbcomparer_config.json` senza backup — contiene i path ai DB di produzione - Non aggiungere dipendenze pesanti per un tool di diagnostica così semplice