4.4 KiB
4.4 KiB
🚀 IMPORT MDB - Guida Rapida Esecuzione
⚡ SETUP VELOCE
1. Preparazione (1 volta)
# Installa dipendenze sistema
sudo apt-get install mdbtools nodejs npm
# Installa dipendenze Node.js
cd docs/000-IMPORT/03-SCRIPTS/
npm install axios
# Verifica installazione
mdb-tools --version && node --version
2. Configurazione
# Copia file MDB in posizione accessibile
cp /path/to/stabili.mdb ~/stabili.mdb
# Ottieni token API NetGescon
curl -X POST http://localhost:8000/api/v1/auth/login \
-H "Content-Type: application/json" \
-d '{"email":"admin@netgescon.it","password":"password"}'
🔍 ESECUZIONE IMPORT
STEP 1: Test Connessione MDB
# Verifica tabelle
mdb-tables -1 ~/stabili.mdb
# Deve contenere: Stabili
# Se non presente, verificare file MDB
STEP 2: Validazione Dati
node mdb-importer.js ~/stabili.mdb --validate-only --verbose
Output atteso:
🗃️ NETGESCON MDB IMPORTER
✅ mdb-tools disponibile
✅ Tabella Stabili trovata
📊 Record nella tabella: XX
✅ Batch 1 validato: XX record
📊 RISULTATI FINALI:
📋 Record processati: XX
✅ Importati: XX
❌ Errori: 0
STEP 3: Import Effettivo
# Sostituire YOUR_TOKEN con il token ottenuto
node mdb-importer.js ~/stabili.mdb \
--api-token YOUR_TOKEN \
--batch-size 25 \
--verbose
Output atteso:
🗃️ NETGESCON MDB IMPORTER
🔗 Test connessione API...
✅ API connessa - Utente: Admin
📦 Avvio processamento batch...
✅ Batch 1: X importati, X duplicati, 0 errori
🎉 Import completato!
📊 VERIFICA RISULTATI
Database Check
-- Accedi a MySQL
mysql -u root -p netgescon
-- Verifica import
SELECT COUNT(*) as stabili_totali FROM stabili;
SELECT COUNT(*) as stabili_importati FROM stabili WHERE cod_stabile_old IS NOT NULL;
-- Preview dati importati
SELECT
id,
denominazione,
cod_stabile_old,
directory_name,
totale_unita_immobiliari,
JSON_EXTRACT(dati_bancari, '$.iban_principale') as iban
FROM stabili
WHERE cod_stabile_old IS NOT NULL
LIMIT 5;
Interfaccia Web
- Accedi a http://localhost:8000
- Login con credenziali amministratore
- Vai su "Gestione Stabili"
- Verifica presenza stabili importati
- Controlla dettagli primo stabile
🔧 TROUBLESHOOTING RAPIDO
❌ "mdb-tools command not found"
sudo apt-get update && sudo apt-get install mdbtools
❌ "Tabella Stabili non trovata"
# Verifica contenuto MDB
mdb-tables -1 ~/stabili.mdb
mdb-schema ~/stabili.mdb
# Se vuoto, file MDB corrotto o non valido
❌ "API Token non valido"
# Genera nuovo token
php artisan tinker
>>> $user = User::where('email', 'admin@netgescon.it')->first();
>>> $token = $user->createToken('mdb-import')->plainTextToken;
>>> echo $token;
❌ "Errori di validazione"
Campi spesso problematici:
- CAP non formato 5 cifre
- Provincia non 2 caratteri
- Denominazione vuota
- Indirizzo vuoto
Controllo dati:
# Esporta CSV per analisi
mdb-export ~/stabili.mdb Stabili > stabili_check.csv
head -10 stabili_check.csv
📈 MONITORAGGIO PROGRESS
Durante Import (altro terminale):
# Monitora database in tempo reale
watch -n 2 'mysql -u root -p -e "SELECT COUNT(*) as imported FROM netgescon.stabili WHERE cod_stabile_old IS NOT NULL;"'
Log Attività:
# Log Laravel (se errori API)
tail -f /var/www/netgescon/storage/logs/laravel.log
# Log MySQL (se abilitato)
tail -f /var/log/mysql/mysql.log
🎯 NEXT STEPS
Una volta completato import stabili:
-
Verifica completezza dati
-
Test funzionalità sistema
-
Pianifica import successive tabelle:
- Anagrafica condomini
- Unità immobiliari
- Movimenti contabili
- Rate condominiali
-
Configurazione collegamenti:
- Amministratori ↔ Stabili
- Stabili ↔ Unità
- Condomini ↔ Unità
💡 COMANDI UTILI
# Backup pre-import
mysqldump netgescon stabili > backup_stabili_$(date +%Y%m%d_%H%M%S).sql
# Import con log completo
node mdb-importer.js ~/stabili.mdb --api-token TOKEN --verbose 2>&1 | tee import_log.txt
# Conta record MDB
echo "Record MDB: $(mdb-export ~/stabili.mdb Stabili | wc -l | awk '{print $1-1}')"
# Quick status check
echo "NetGescon: $(mysql -u root -p -N -e 'SELECT COUNT(*) FROM netgescon.stabili WHERE cod_stabile_old IS NOT NULL')"