docs: Add quick navigation guide (START_HERE.md)
This commit is contained in:
211
START_HERE.md
Normal file
211
START_HERE.md
Normal file
@@ -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.
|
||||||
Reference in New Issue
Block a user