feat(database): add Adminer PostgreSQL web management interface, setup_postgresql.sh script and document PostgreSQL architecture directive (task-d095b0e23b)

This commit is contained in:
michele 2026-08-27 17:09:26 +02:00
parent 9014626478
commit fc5f49b99f
3 changed files with 4340 additions and 0 deletions

View File

@ -42,3 +42,18 @@ ## 5. Tabelle Millesimali da Legacy (`tabelle` e `dett_tab` in `singolo_anno.mdb
## 6. Principio di Deterministicità Assoluta (Regola Commercialista)
- **Divieto di Fallback o Date Fittizie**: È tassativamente vietato inventare date fittizie (es. `01/01/2000` o `01/01/2026` ripetute) o stimare ruoli non presenti negli archivi MDB.
- **Trattamento dati mancanti**: Se una relazione o una data di decorrenza non è presente negli archivi consolidati, il sistema deve riportare unicamente le gestioni storiche certe (es. `Gestioni 0004, 0005, 0909, 0912, 0913, 0914`) oppure restituire `BLOCCO_DATI`. I dati devono essere certificabili e certi al 100%.
## 7. Struttura Cartelle Canonica dello Stabile e Portabilità
- **Codice Canonico Stabile**: Le cartelle fisiche di archivio documenti e backup SQLite sono identificate tassativamente tramite il `codice_stabile` canonico (es. `0021` per Supercondominio Milizie 3).
- **Percorsi Tipo**:
- Cartella Stabile: `storage/app/private/amministratori/{codice_amministratore}/stabili/{codice_stabile}`
- Documenti Stabile: `storage/app/private/amministratori/{codice_amministratore}/stabili/{codice_stabile}/documenti`
- Backup & SQLite: `storage/app/private/amministratori/{codice_amministratore}/stabili/{codice_stabile}/database/backups`
## 8. Architettura Database PostgreSQL e Visualizzatore Web (Stile PhpMyAdmin)
- **Database Engine**: PostgreSQL per persistenza strutturale multi-tenant e gestione passaggio gestioni tra amministratori.
- **Visualizzatore Web PostgreSQL (Adminer)**:
- Strumento di consultazione ed editing DB PostgreSQL accessibile via web all'URL `http://192.168.0.205:8000/adminer.php`.
- Consente la consultazione immediata di tabelle, schemi, indici e record con interfaccia equivalente a PhpMyAdmin.
- **Script di Inizializzazione Server DB**: `scripts/ops/setup_postgresql.sh`.

4302
public/adminer.php Normal file

File diff suppressed because it is too large Load Diff

23
scripts/ops/setup_postgresql.sh Executable file
View File

@ -0,0 +1,23 @@
#!/usr/bin/env bash
set -e
echo "=== Installazione ed Inizializzazione Server DB PostgreSQL per NetGescon ==="
# 1. Installazione pacchetti sistema
apt-get update
apt-get install -y postgresql postgresql-contrib php-pgsql
# 2. Avvio e abilitazione servizio PostgreSQL
systemctl enable postgresql
systemctl start postgresql
# 3. Creazione Database e Utente NetGescon
sudo -u postgres psql -c "CREATE DATABASE netgescon;" || true
sudo -u postgres psql -c "CREATE USER netgescon WITH PASSWORD 'netgescon_pass';" || true
sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE netgescon TO netgescon;" || true
sudo -u postgres psql -d netgescon -c "GRANT ALL ON SCHEMA public TO netgescon;" || true
# 4. Riavvio eventuale servizio PHP-FPM / Web server
systemctl restart php*-fpm 2>/dev/null || true
echo "=== INSTALLAZIONE ED INIZIALIZZAZIONE POSTGRESQL COMPLETATA CON SUCCESSO ==="