openstamanager icon indicating copy to clipboard operation
openstamanager copied to clipboard

MIGLIORIA procedura di aggiornamento

Open beppe9000 opened this issue 4 years ago • 3 comments

Proporrei come primo step degli aggiornamenti futuri di "simulare" la procedura di aggiornamento del database tramite una transazione di test che viene poi annullata in ogni caso, prima di procedere all'aggiornamento vero e proprio di osm. In caso di errori il sistema rimarrebbe in uno stato utilizzabile perchè non è stato toccato il filesystem.

Oppure permettere nella schermata di errore sql di ripristinare l'ultimo backup presente.

beppe9000 avatar Jul 29 '20 17:07 beppe9000

Grazie per il suggerimento, purtroppo la proposta è già stata effettuata in passato e ritenuta impraticabile. Infatti, le transazioni in MySQL (DBMS principalmente supportato) non prevedono in alcun modo la possibilità di gestire le operazioni di modifica/creazione delle tabelle, che sono al momento le principali cause di errori durante gli aggiornamenti. Questo era valido per la versione 5.*, può essere di interesse ricercare se la funzionalità è ora disponibile con MySQL 8.

La proposta di ripristinare il backup è molto valida al contrario, e potrebbe essere utile per risolvere lo stallo che si può verificare in caso di errori.

Dasc3er avatar Jul 29 '20 19:07 Dasc3er

Speravo con mysql8 fosse migliorata la cosa, ma qui non sembra essere cambiato molto. Potrebbe avere senso creare delle tabelle temporanee su cui fare l'aggiornamento? Notavo che nel database vengono usate le constraints, quindi non so se e quanto questo influisca ma penso che complicherebbe.


In ogni caso la possibilità di ripristinare l'ultimo backup per annullare l'operazione di aggiornamento in caso di errore sembra la soluzione più pratica.

beppe9000 avatar Jul 31 '20 01:07 beppe9000

Tra le varie feature per semplificare la vita inoltre sarebbe utile predisporre una modalità di aggiornamento manuale del database in caso di errori, che mostri le query rimanenti a partire da quella che ha generato l'errore e che permetta di premere un bottone per confermare la modifica manuale del database e passare allo step successivo dell'aggiornamento

beppe9000 avatar Aug 01 '20 12:08 beppe9000

Su questo punto mi sentirei di dire che la soluzione più semplice da gestire è una modalità in cui, se si è in fase di aggiornamento e qualcosa va storto, venga proposto di ripristinare facilmente un backup tra quelli presenti, perché se OSM non si avvia non è possibile farlo da interfaccia. Potrebbe essere che durante l'aggiornamento tramite file zip ci sia una spunta che chieda se si vuole fare anche un backup prima di avviare l'aggiornamento, di default spuntata, così si è sicuri che anche l'utente più distratto riuscirà ad avere un backup ripristinabile. Che ne pensate @beppe9000 e @Dasc3er ?

loviuz avatar Jan 01 '23 12:01 loviuz