Ciao Andrea,
hai ragione.
Dunque....
Ho tentato l'aggiornamento di 2 piattaforme di produzione, entrambe con una storia di due o tre anni, quindi aggiornate dalla 1.8.x alla 1.9.x in passato.
Costantemente aggiornate di release.
Attualmente una alla 1.9.9 e l'altra alla 1.9.10
Piattaforme relativamente piccole, da c.a. 200 utenti e una decina di corsi.
Distribuzioni di moodle non patchate.
No custom script o No plugin. A parte un paio di moduli e blocchi di terze parti, che però non mi interessava per ora mantenere e che non ho incluso nella nuova versione.
Le macchine: server front-end unico su macchina Ubuntu 10.04 LTS 64bit.
PHP 5.3.2 e tutti i requisiti di Moodle 2.0 soddisfatti (salvo il suggerimento un po' esoso di PHP 5.3.3, che non mi pare proprio essere il problema).
DB server su macchina separata: PostgreSQL 8.4.6 su Linux (non ho sottomano la distro).
I server sono gestiti da noi, quindi tutti i permessi su file system ecc sono impostati come si deve.
Nessun cluster, nessun load balancer.
Rimosso completamente il codice del vecchio moodle, sostituito con la nuova versione.
config.php creato a mano, sulla base dal nuovo config-dist.php
Moodledata ripulita dalle cartelle temp, cache, sessions.
Upgrade avviato da front-end (no CLI)
L'upgrade ha dato immediatamente vari errori, appena è andato ad aggiornare la mdl_user.
Es. tentativi di forzare un constraint NULL su colonne con valori NULL.
Anche cacciavitando valori accettabili nelle tabelle e rilanciando, al successivo step riscoppiava di nuovo con un diverso errore.
Al terzo errore sulla mdl_user ho lasciato perdere.
Mi sono detto: se dà problemi sulla tabella utenti, non voglio immaginare cosa succede altrove, dove le cose sono più complesse.
La percezione, da sviluppatore, è di estrema immaturità degli script di aggiornamento, visto che gli errori che non "trappa" sono estremamente stupidi.
Lorenzo