netgescon-day0/docs/00-IMPORT/CHECKLIST-IMPORT-MDB.md

204 lines
5.1 KiB
Markdown

# 🗃️ CHECKLIST IMPORT MDB STABILI
## 📋 **PREPARAZIONE SISTEMA**
### **1. Installazione Dipendenze**
```bash
# Ubuntu/Debian
sudo apt-get update
sudo apt-get install mdbtools unixodbc unixodbc-dev
# Node.js dependencies
cd docs/000-IMPORT/03-SCRIPTS/
npm install axios
# Test installazione
mdb-tools --version
node --version
```
### **2. Preparazione File MDB**
- [ ] Copiare `stabili.mdb` in directory accessibile
- [ ] Verificare permessi lettura file
- [ ] Backup del file MDB originale
- [ ] Annotare path completo del file
**Path file:** `_______________________________`
### **3. Configurazione API**
- [ ] Server Laravel NetGescon attivo su porta 8000
- [ ] Token API amministratore disponibile
- [ ] Test connessione API: `curl -H "Authorization: Bearer TOKEN" http://localhost:8000/api/v1/auth/me`
**API Token:** `_______________________________`
---
## 🔍 **FASE VALIDAZIONE**
### **4. Test Connessione MDB**
```bash
# Test lettura tabelle
mdb-tables -1 /path/to/stabili.mdb
# Verifica tabella Stabili
mdb-schema /path/to/stabili.mdb -T Stabili
# Conteggio record
mdb-export /path/to/stabili.mdb Stabili | wc -l
```
**Record trovati:** `_______________________________`
### **5. Validazione Dati**
```bash
# Validazione completa senza import
node mdb-importer.js /path/to/stabili.mdb --validate-only --verbose
```
**Risultato validazione:**
- [ ] ✅ Tutti i record validi
- [ ] ⚠️ Alcuni errori di validazione (specificare): `_______________________________`
- [ ] ❌ Molti errori - rivedere dati
---
## 📦 **FASE IMPORT**
### **6. Backup Database NetGescon**
```bash
# Backup tabelle principali
mysqldump netgescon stabili > backup_stabili_$(date +%Y%m%d_%H%M%S).sql
mysqldump netgescon users > backup_users_$(date +%Y%m%d_%H%M%S).sql
```
**File backup:** `_______________________________`
### **7. Import Test (Batch Piccolo)**
```bash
# Import primo batch (10 record)
node mdb-importer.js /path/to/stabili.mdb \
--api-token YOUR_TOKEN \
--batch-size 10 \
--verbose
```
**Risultato test:**
- [ ] ✅ Import riuscito
- [ ] ❌ Errori (specificare): `_______________________________`
### **8. Import Completo**
```bash
# Import tutti i dati
node mdb-importer.js /path/to/stabili.mdb \
--api-token YOUR_TOKEN \
--batch-size 50 \
--verbose
```
**Risultato finale:**
- **Record processati:** `_______________________________`
- **Importati:** `_______________________________`
- **Duplicati:** `_______________________________`
- **Errori:** `_______________________________`
---
## ✅ **VERIFICA POST-IMPORT**
### **9. Controlli Database**
```sql
-- Verifica record importati
SELECT COUNT(*) as totale_stabili FROM stabili;
-- Verifica dati migrazione
SELECT COUNT(*) as con_cod_old FROM stabili WHERE cod_stabile_old IS NOT NULL;
-- Primi 5 record importati
SELECT id, denominazione, cod_stabile_old, directory_name
FROM stabili
WHERE cod_stabile_old IS NOT NULL
LIMIT 5;
```
**Risultati controlli:**
- [ ] ✅ Tutti i record importati correttamente
- [ ] ⚠️ Alcuni record mancanti
- [ ] ❌ Import incompleto
### **10. Test Funzionalità**
- [ ] Login sistema NetGescon
- [ ] Visualizzazione lista stabili
- [ ] Dettagli primo stabile importato
- [ ] Verifica dati bancari JSON
- [ ] Verifica configurazione rate
---
## 🔄 **PROSSIMI STEP**
### **11. Pianificazione Import Successivi**
- [ ] **Anagrafica** (dipende da: Stabili) - File: `anagrafica.mdb`
- [ ] **Unità Immobiliari** (dipende da: Stabili, Anagrafica) - File: `unita.mdb`
- [ ] **Movimenti Contabili** (dipende da: Stabili) - File: `movimenti.mdb`
- [ ] **Rate Condominiali** (dipende da: Stabili, Unità) - File: `rate.mdb`
### **12. Configurazione Ambiente**
- [ ] Script automatici per backup pre-import
- [ ] Monitoraggio errori import
- [ ] Notifiche completamento import
- [ ] Dashboard progresso migrazione
---
## 📞 **SUPPORTO E TROUBLESHOOTING**
### **Errori Comuni:**
**🔴 "mdb-tools command not found"**
```bash
sudo apt-get install mdbtools
```
**🔴 "File MDB non trovato"**
- Verificare path assoluto
- Controllare permessi lettura
- Verificare che il file non sia corrotto
**🔴 "API Token non valido"**
```bash
# Genera nuovo token
php artisan tinker
>>> $user = User::find(1); $user->createToken('import-token')->plainTextToken;
```
**🔴 "Tabella Stabili non trovata"**
- Verificare struttura MDB: `mdb-tables stabili.mdb`
- Il file potrebbe avere nome tabella diverso
**🔴 "Errori di validazione"**
- Controllare campi obbligatori
- Verificare formato CAP, codici fiscali
- Controllare lunghezza stringhe
### **Log Files:**
- Laravel: `storage/logs/laravel.log`
- Import Script: Console output + `--verbose`
- Database: Query log se abilitato
---
## 📝 **NOTE COMPLETAMENTO**
**Data import:** `_______________________________`
**Operatore:** `_______________________________`
**Durata totale:** `_______________________________`
**Note particolari:**
```
_________________________________________________________________
_________________________________________________________________
_________________________________________________________________
```
**Firma completamento:** `_______________________________`