68 lines
1.8 KiB
Bash
Executable File
68 lines
1.8 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Script per estrarre tutte le tabelle principali da MDB a CSV
|
|
# Posizione: /home/michele/netgescon/docs/000-IMPORT/03-SCRIPTS/extract-all-mdb-tables.sh
|
|
|
|
MDB_FILE="/home/michele/netgescon/docs/02-architettura-laravel/Gescon/0021/generale_stabile.mdb"
|
|
OUTPUT_DIR="/home/michele/netgescon/docs/000-IMPORT/02-CSV-ESTRATTI"
|
|
|
|
# Crea directory di output
|
|
mkdir -p "$OUTPUT_DIR"
|
|
|
|
echo "=== ESTRAZIONE TABELLE MDB ==="
|
|
echo "Database: $MDB_FILE"
|
|
echo "Directory output: $OUTPUT_DIR"
|
|
echo
|
|
|
|
# Lista delle tabelle principali da estrarre
|
|
TABELLE_PRINCIPALI=(
|
|
"anni"
|
|
"Fatture"
|
|
"Bonifici"
|
|
"F24"
|
|
"acqua_gen"
|
|
"acqua_dett"
|
|
"Acqua_Fatture"
|
|
"emes_gen"
|
|
"emes_det"
|
|
"Elenco_destinatari_email"
|
|
"Elenco_destinatari_PEC"
|
|
"Elenco_destinatari_SMS"
|
|
"770_ST"
|
|
"770_ST2"
|
|
"Corrisp_inviata"
|
|
"Registro_Nomina_Revoca_Amm"
|
|
)
|
|
|
|
# Estrai ogni tabella
|
|
for tabella in "${TABELLE_PRINCIPALI[@]}"; do
|
|
echo "Estraendo tabella: $tabella"
|
|
|
|
# Esporta in CSV
|
|
mdb-export "$MDB_FILE" "$tabella" > "$OUTPUT_DIR/${tabella}.csv"
|
|
|
|
# Conta record
|
|
RECORDS=$(tail -n +2 "$OUTPUT_DIR/${tabella}.csv" | wc -l)
|
|
echo " → $RECORDS record estratti"
|
|
|
|
# Mostra primi 3 campi per verifica
|
|
echo " → Primi campi: $(head -1 "$OUTPUT_DIR/${tabella}.csv" | cut -d',' -f1-3)"
|
|
echo
|
|
done
|
|
|
|
echo "=== ESTRAZIONE COMPLETATA ==="
|
|
echo "File estratti in: $OUTPUT_DIR"
|
|
echo
|
|
|
|
# Crea indice dei file estratti
|
|
echo "=== INDICE FILE ESTRATTI ===" > "$OUTPUT_DIR/INDICE-ESTRAZIONE.txt"
|
|
for file in "$OUTPUT_DIR"/*.csv; do
|
|
if [ -f "$file" ]; then
|
|
nome_file=$(basename "$file")
|
|
righe=$(wc -l < "$file")
|
|
echo "$nome_file: $((righe-1)) record" >> "$OUTPUT_DIR/INDICE-ESTRAZIONE.txt"
|
|
fi
|
|
done
|
|
|
|
echo "Indice creato: $OUTPUT_DIR/INDICE-ESTRAZIONE.txt"
|