5.8 KiB
Executable File
5.8 KiB
Executable File
🗄️ NETGESCON DATABASE STRUTTURA
Organizzazione sistematica del database NetGescon
📅 Versione: 3.0 - 5 Agosto 2025
🎯 Obiettivo: Database strutturato per amministratori con codice univoco 8 cifre
🔑 CONNESSIONE DATABASE SVILUPPO
Credenziali Standard NetGescon:
# Database di sviluppo
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=netgescon
DB_USERNAME=netgescon_user
DB_PASSWORD=NetGescon2024!
# Path Laravel
DB_CONFIG_PATH=/var/www/netgescon/.env
DB_MIGRATIONS_PATH=/var/www/netgescon/database/migrations/
Test Connessione:
# Verifica connessione database
mysql -u netgescon_user -p netgescon
# Password: NetGescon2024!
# Oppure via Laravel
cd /var/www/netgescon
php artisan tinker
DB::connection()->getPdo();
🏗️ ARCHITETTURA DATABASE
🎯 Principio Fondamentale:
Ogni amministratore ha un CODICE UNIVOCO di 8 CIFRE alfanumeriche che identifica la sua "bolla" di dati
Vantaggi Architettura:
- ✅ Isolamento dati per amministratore
- ✅ Portabilità database per singolo amministratore
- ✅ Backup selettivo per codice amministratore
- ✅ Scalabilità e distribuzione facilitata
- ✅ Security multi-tenant nativa
📂 STRUTTURA CARTELLE DATABASE
📋 Organizzazione File:
01-struttura-principale/
README.md- Tabelle core del sistemaamministratori.md- Tabella amministratori (codice 8 cifre)users.md- Utenti sistema (collegati ad amministratore)roles-permissions.md- Sistema ruoli e permessischema-completo.md- Schema ER completo
02-tabelle-collegate/
stabili.md- Condomini e stabiligestioni.md- Gestioni annualiunita-immobiliari.md- Unità immobiliarisoggetti.md- Anagrafica persone/aziendecontabilita.md- Movimenti e piano contidocumenti.md- Sistema documentale
03-archivi-specifici/
comuni-italiani.md- Anagrafica comuni (8100 record)codici-catastali.md- Codici catastalitabelle-millesimali.md- Template millesimipiano-conti-standard.md- Piano conti default
04-migrations-seeds/
migration-order.md- Ordine esecuzione migrationsseeder-data.md- Dati iniziali sistemaimport-scripts.md- Script importazione datibackup-restore.md- Procedure backup/restore
🎯 TABELLE PRINCIPALI IDENTIFICATE
✅ Core Sistema (con codice amministratore):
-- Tabella master con codice 8 cifre
amministratori (
id,
codice_univoco CHAR(8) UNIQUE, -- ES: A1B2C3D4
nome, cognome, email,
created_at, updated_at
)
-- Utenti collegati ad amministratore
users (
id,
amministratore_id, -- FK verso amministratori
name, email, password,
created_at, updated_at
)
-- Stabili con filtro amministratore
stabili (
id,
amministratore_id, -- FK verso amministratori
denominazione, indirizzo,
created_at, updated_at
)
✅ Tabelle Collegate (filtrate per amministratore):
- gestioni → collegate a stabili → filtrate per amministratore
- unita_immobiliari → collegate a stabili → filtrate per amministratore
- soggetti → collegati a stabili → filtrati per amministratore
- contabilita_registrazioni → collegate a gestioni → filtrate per amministratore
- documenti → collegati a stabili → filtrati per amministratore
✅ Tabelle Condivise (senza filtro):
- comuni_italiani → anagrafica nazionale
- roles → ruoli sistema
- permissions → permessi sistema
🔄 FLUSSO CREAZIONE DATABASE
Step 1: Struttura Principale
- Leggi
01-struttura-principale/README.md - Crea tabelle core (amministratori, users, roles)
- Implementa sistema codice 8 cifre
Step 2: Tabelle Collegate
- Leggi
02-tabelle-collegate/README.md - Crea tabelle business (stabili, gestioni, unita)
- Implementa foreign keys con amministratore
Step 3: Archivi Specifici
- Leggi
03-archivi-specifici/README.md - Importa comuni italiani (8100 record)
- Configura dati master
Step 4: Migrations e Seeds
- Leggi
04-migrations-seeds/README.md - Esegui migrations in ordine corretto
- Popola con dati iniziali
🔍 QUERY PATTERN STANDARD
Filtro per Amministratore:
-- Pattern base per tutte le query
SELECT s.*, a.codice_univoco as admin_code
FROM stabili s
JOIN amministratori a ON s.amministratore_id = a.id
WHERE a.codice_univoco = 'A1B2C3D4';
-- Pattern Laravel
$stabili = DB::table('stabili')
->join('amministratori', 'stabili.amministratore_id', '=', 'amministratori.id')
->where('amministratori.codice_univoco', auth()->user()->amministratore->codice_univoco)
->get();
Backup per Amministratore:
# Backup dati singolo amministratore
mysqldump -u netgescon_user -p netgescon \
--where="amministratore_id IN (SELECT id FROM amministratori WHERE codice_univoco='A1B2C3D4')" \
stabili gestioni unita_immobiliari > backup_A1B2C3D4.sql
🎯 PROSSIMI PASSI
Ora Procediamo Con:
- 📖 Leggi
01-struttura-principale/README.mdper tabelle core - 🏗️ Implementa sistema amministratori con codice 8 cifre
- 🔗 Collega tutte le tabelle business con foreign key
- 📊 Verifica filtri e query pattern
- 🧪 Testa con dati demo per 2-3 amministratori
File da Studiare in Ordine:
01-struttura-principale/amministratori.md01-struttura-principale/users.md02-tabelle-collegate/stabili.md02-tabelle-collegate/gestioni.md03-archivi-specifici/comuni-italiani.md
🎯 DATABASE ORGANIZZATO E STRUTTURATO
Ogni file contiene la documentazione completa per implementazione sistematica
📖 Inizia dalla lettura di 01-struttura-principale/README.md