208 lines
4.4 KiB
Markdown
208 lines
4.4 KiB
Markdown
# 🚀 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')"
|
|
```
|