diff --git a/START_HERE.md b/START_HERE.md new file mode 100644 index 0000000..4086ce5 --- /dev/null +++ b/START_HERE.md @@ -0,0 +1,211 @@ +# πŸš€ MySQL to PostgreSQL Migration Tool + +**Benvenuto!** Questo Γ¨ il tuo punto di partenza per utilizzare il migration tool. + +## πŸ“‹ Indice Rapido + +### Per gli Impazienti (5 minuti) +β†’ Vai a [QUICKSTART.md](QUICKSTART.md) + +### Per i Dettagli Completi +β†’ Vai a [README.md](README.md) + +### Per un Esempio Pratico +β†’ Vai a [EXAMPLE_WORKFLOW.md](EXAMPLE_WORKFLOW.md) + +### Per Capire Come Γ¨ Fatto +β†’ Vai a [IMPLEMENTATION_SUMMARY.md](IMPLEMENTATION_SUMMARY.md) + +--- + +## 🎯 Cosa Puoi Fare + +### 1️⃣ Migrare il Database +```bash +python main.py setup --create-schema # Setup schema +python main.py migrate full # Migrare tutti i dati +``` + +### 2️⃣ Sincronizzare i Cambiamenti +```bash +python main.py migrate incremental # Migrare solo i nuovi record +``` + +### 3️⃣ Testare le Performance +```bash +python main.py benchmark # Confronto MySQL vs PostgreSQL +``` + +### 4️⃣ Verificare la Configurazione +```bash +python main.py info # Mostra settings +``` + +--- + +## πŸ“š Documentazione Disponibile + +| File | Contenuto | Leggi Se... | +|------|----------|-----------| +| [README.md](README.md) | Guida completa (600+ linee) | Vuoi tutto | +| [QUICKSTART.md](QUICKSTART.md) | Setup in 5 minuti | Hai fretta | +| [EXAMPLE_WORKFLOW.md](EXAMPLE_WORKFLOW.md) | Scenario reale step-by-step | Vuoi un esempio | +| [IMPLEMENTATION_SUMMARY.md](IMPLEMENTATION_SUMMARY.md) | Dettagli tecnici | Sei developer | + +--- + +## ⚑ Setup Rapido + +### 1. Installazione +```bash +./install.sh +source venv/bin/activate +``` + +### 2. Configurazione +```bash +cp .env.example .env +# Edita .env con i tuoi dettagli +``` + +### 3. Crea PostgreSQL (opzionale) +```bash +bash scripts/incus_setup.sh pg-server password123 +``` + +### 4. Esegui Migrazione +```bash +python main.py setup --create-schema +python main.py migrate full +``` + +--- + +## πŸ” Trovare Quello che Serve + +### Ho Domande su... + +**Come installare?** +β†’ [QUICKSTART.md - Setup](QUICKSTART.md#setup-in-5-minuti) + +**Come migrare i dati?** +β†’ [EXAMPLE_WORKFLOW.md - Migrazione](EXAMPLE_WORKFLOW.md#8-migrazione-completa-60-min-per-dati-grandi) + +**Come fare query su JSONB?** +β†’ [README.md - Query su JSONB](README.md#query-su-jsonb) oppure [QUICKSTART.md - Esempi Query](QUICKSTART.md#esempi-di-query-su-postgresql) + +**Qual Γ¨ la struttura JSONB?** +β†’ [README.md - Trasformazione Dati](README.md#trasformazione-dati) + +**Come fare il benchmark?** +β†’ [README.md - Benchmark](README.md#benchmark) + +**Come si fa la migrazione incrementale?** +β†’ [QUICKSTART.md - Migrazioni Periodiche](QUICKSTART.md#migrazioni-periodiche) + +**Cosa fare se c'Γ¨ un errore?** +β†’ [README.md - Troubleshooting](README.md#troubleshooting) + +**Come funziona internamente?** +β†’ [IMPLEMENTATION_SUMMARY.md](IMPLEMENTATION_SUMMARY.md) + +--- + +## πŸ“¦ Cosa Contiene il Tool + +### FunzionalitΓ  +βœ… Migrazione completa (full) +βœ… Migrazione incrementale (delta) +βœ… Trasformazione JSONB automatica +βœ… Benchmark MySQL vs PostgreSQL +βœ… Partizionamento nativo PostgreSQL +βœ… GIN indexes per JSONB +βœ… Progress tracking +βœ… Logging con Rich + +### Script Helper +βœ… `install.sh` - Setup rapido +βœ… `scripts/incus_setup.sh` - PostgreSQL container +βœ… `scripts/validate_migration.sql` - Validazione dati +βœ… `scripts/setup_cron.sh` - Scheduling automatico + +### Comandi CLI +βœ… `setup` - Crea schema +βœ… `migrate full` - Migrazione completa +βœ… `migrate incremental` - Migrazione delta +βœ… `benchmark` - Performance test +βœ… `info` - Mostra config + +--- + +## πŸŽ“ Primi Passi + +### Passo 1: Leggi il QUICKSTART +Apri [QUICKSTART.md](QUICKSTART.md) per un setup veloce. + +### Passo 2: Configura .env +Copia `.env.example` a `.env` e inserisci le tue credenziali. + +### Passo 3: Esegui Installazione +```bash +./install.sh +``` + +### Passo 4: Verifica Configurazione +```bash +python main.py info +``` + +### Passo 5: Setup Schema PostgreSQL +```bash +python main.py setup --create-schema +``` + +### Passo 6: Migra i Dati +```bash +python main.py migrate full +``` + +### Passo 7: Test Performance +```bash +python main.py benchmark +``` + +--- + +## πŸ’‘ Tips + +- **Migrazione lenta?** Aumenta `BATCH_SIZE` in `.env` +- **Vuoi solo una tabella?** Usa `--table RAWDATACOR` con i comandi +- **Primo test?** Usa `--dry-run` per vedere cosa verrebbe fatto +- **Automatizzare?** Usa `scripts/setup_cron.sh` per scheduled sync + +--- + +## πŸ“ž Aiuto + +Se hai domande: + +1. Leggi il [README.md](README.md) completo +2. Consulta [EXAMPLE_WORKFLOW.md](EXAMPLE_WORKFLOW.md) per scenario reale +3. Guarda [IMPLEMENTATION_SUMMARY.md](IMPLEMENTATION_SUMMARY.md) per dettagli tecnici +4. Controlla la sezione Troubleshooting nel README + +--- + +## βœ… Checklist Prima di Partire + +- [ ] Ho Python 3.10+ +- [ ] Ho MySQL e PostgreSQL disponibili +- [ ] Ho copiato .env.example a .env +- [ ] Ho configurato credenziali in .env +- [ ] Ho eseguito `./install.sh` +- [ ] Ho testato `python main.py info` con successo + +Se tutti i checkmark sono spuntati, sei pronto! + +--- + +**Buona migrazione! πŸŽ‰** + +Domande? Consulta la documentazione qui sopra.