con web ui
This commit is contained in:
45
README.md
45
README.md
@@ -4,8 +4,10 @@ Un tool robusto per la migrazione di database MySQL a PostgreSQL con trasformazi
|
||||
|
||||
## Caratteristiche
|
||||
|
||||
- **Web GUI**: Interfaccia grafica basata su Gradio per monitoraggio e controllo visuale
|
||||
- **Migrazione Completa**: Trasferimento di tutti i dati da MySQL a PostgreSQL
|
||||
- **Migrazione Incrementale**: Sincronizzazione periodica basata su consolidation keys
|
||||
- **Migrazione Parallela**: Supporto per worker multipli per velocizzare le migrazioni
|
||||
- **Consolidamento Dati**: Raggruppa multiple righe MySQL in singoli record PostgreSQL
|
||||
- **Trasformazione JSONB**: Consolidamento automatico di colonne multiple in campi JSONB
|
||||
- **Partizionamento**: Supporto per partizioni per anno (2014-2031)
|
||||
@@ -16,6 +18,7 @@ Un tool robusto per la migrazione di database MySQL a PostgreSQL con trasformazi
|
||||
- **Logging**: Logging strutturato con Rich per output colorato
|
||||
- **Dry-Run Mode**: Modalità test senza modificare i dati
|
||||
- **State Management**: Tracking affidabile con tabella `migration_state` in PostgreSQL
|
||||
- **Error Logging**: Tracciamento automatico di chiavi di consolidamento non valide
|
||||
|
||||
## Setup
|
||||
|
||||
@@ -94,7 +97,47 @@ Crea lo schema PostgreSQL con:
|
||||
- Indici ottimizzati per JSONB
|
||||
- Tabella di tracking `migration_state`
|
||||
|
||||
#### Migrazione Completa
|
||||
#### Web GUI (Interfaccia Grafica) 🎨
|
||||
|
||||
Lancia l'interfaccia web per monitorare e controllare le migrazioni in modo visuale:
|
||||
|
||||
```bash
|
||||
# Avvia la GUI sulla porta predefinita (7860)
|
||||
uv run main.py web
|
||||
|
||||
# Avvia su una porta specifica
|
||||
uv run main.py web --port 8080
|
||||
|
||||
# Crea un link pubblico condivisibile (utile per accesso remoto)
|
||||
uv run main.py web --share
|
||||
```
|
||||
|
||||
Poi apri il browser su `http://localhost:7860` per accedere alla dashboard.
|
||||
|
||||
**Funzionalità della GUI:**
|
||||
|
||||
- **📊 Overview Tab**: Visualizza lo stato di tutte le partizioni con grafici e tabelle in tempo reale
|
||||
- **▶️ Start Migration Tab**: Avvia nuove migrazioni full con controlli per:
|
||||
- Selezione tabella (RAWDATACOR, ELABDATADISP, o entrambe)
|
||||
- Modalità parallela (numero di worker)
|
||||
- Resume da checkpoint
|
||||
- Dry-run mode
|
||||
- Migrazione di partizione singola
|
||||
- **🔄 Incremental Sync Tab**: Sincronizza solo i nuovi dati aggiunti dopo l'ultima migrazione full
|
||||
- Selezione tabella
|
||||
- Dry-run mode
|
||||
- Spiegazione di come funziona l'incremental
|
||||
- **📝 Logs Tab**: Visualizza i log in tempo reale delle migrazioni in corso
|
||||
- **⚠️ Error Logs Tab**: Esplora i file di log degli errori di validazione
|
||||
|
||||
**Vantaggi rispetto alla CLI:**
|
||||
- Monitoraggio visuale dello stato delle migrazioni
|
||||
- Grafici interattivi per statistiche e progress
|
||||
- Controllo centralizzato di più migrazioni
|
||||
- Nessun bisogno di terminali multipli
|
||||
- Accessibile anche da remoto con `--share`
|
||||
|
||||
#### Migrazione Completa (CLI)
|
||||
```bash
|
||||
# Migrare tutte le tabelle
|
||||
python main.py migrate full
|
||||
|
||||
Reference in New Issue
Block a user