Openupgrade

migrare il database di Odoo

Eccoci alle porte degli Odoo Days Italia! C'è ancora tempo per iscriversi, iniziano il 14 di novembre, ecco i link all'iscrizione e al programma.

Il mio intervento sarà centrato sulla migrazione del database di Odoo.

Un fattore importante nell'utilizzo di qualsiasi software è la capacità di aggiornarne la versione in maniera più indolore possibile, per seguire i miglioramenti e le correzioni rese disponibili nel tempo. Questi aggiornamenti sono fatti in maniera progressiva (patch e minor version) ma il passaggio alla major version successiva è solitamente un processo più delicato.

Per un sistema complesso come Odoo e per l'importanza dei dati contenuti (generalmente contiene tutta l'attività di una o più aziende) l'aggiornamento major può essere eseguito con Openupgrade, con la premessa che devono essere disponibili i moduli migrati alle versioni successive (con incluse le funzioni di migrazione quando necessarie).

L'OCA (nel dettaglio chi decide di contribuire all'OCA il proprio codice :) ) si preoccupa di gestire la migrazione dei moduli alle versioni successive (non tutte, ad es. il PSC della localizzazione italiana ha deciso di saltare la v. 13 per motivi di ottimizzazione delle risorse).

È comunque possibile che dei moduli non vengano più ritenuti utili e quindi non ci siano (o non ci sia qualcuno che ne abbia avuto necessità finora) per cui per completare una migrazione può capitare di dover migrare dei moduli, oppure di fixare dei bug su altri moduli,

L'utilizzo di Openupgrade è molto lineare, in pratica si tratta di avviare l'aggiornamento del database con i repository alla versione successiva (la migrazione è di 1 sola versione per volta) di quella del database, sostituendo il repository di Odoo con quello di Openupgrade, che contiene gli script di migrazione dei moduli 'core'.

Meno facile è la gestione dell'intero processo, visto che normalmente ci saranno una serie di segnalazioni di errori nel log, da sistemare uno per uno, analizzando la causa e trovando la soluzione. Certamente un'installazione molto semplice e con solo moduli standard avrà molti meno errori (probabilmente nessuno) di un'installazione complessa e con molte funzionalità, quindi l'intervento di sviluppo è probabilmente richiesto in quest'ultimo caso.

Il resto a Firenze per chi ne avrà voglia! :D