# πŸš€ IMPORT MDB - Guida Rapida Esecuzione ## ⚑ **SETUP VELOCE** ### **1. Preparazione (1 volta)** ```bash # 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** ```bash # 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** ```bash # Verifica tabelle mdb-tables -1 ~/stabili.mdb # Deve contenere: Stabili # Se non presente, verificare file MDB ``` ### **STEP 2: Validazione Dati** ```bash 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** ```bash # 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** ```sql -- 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** 1. Accedi a http://localhost:8000 2. Login con credenziali amministratore 3. Vai su "Gestione Stabili" 4. Verifica presenza stabili importati 5. Controlla dettagli primo stabile --- ## πŸ”§ **TROUBLESHOOTING RAPIDO** ### **❌ "mdb-tools command not found"** ```bash sudo apt-get update && sudo apt-get install mdbtools ``` ### **❌ "Tabella Stabili non trovata"** ```bash # Verifica contenuto MDB mdb-tables -1 ~/stabili.mdb mdb-schema ~/stabili.mdb # Se vuoto, file MDB corrotto o non valido ``` ### **❌ "API Token non valido"** ```bash # 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:** ```bash # Esporta CSV per analisi mdb-export ~/stabili.mdb Stabili > stabili_check.csv head -10 stabili_check.csv ``` --- ## πŸ“ˆ **MONITORAGGIO PROGRESS** ### **Durante Import (altro terminale):** ```bash # 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Γ :** ```bash # 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: 1. **Verifica completezza dati** 2. **Test funzionalitΓ  sistema** 3. **Pianifica import successive tabelle:** - Anagrafica condomini - UnitΓ  immobiliari - Movimenti contabili - Rate condominiali 4. **Configurazione collegamenti:** - Amministratori ↔ Stabili - Stabili ↔ UnitΓ  - Condomini ↔ UnitΓ  --- ## πŸ’‘ **COMANDI UTILI** ```bash # 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')" ```