Actualiza tu base de datos Odoo con OpenUpgrade

Nuestro equipo de desarrollo Sentilis/Odoo utilizo recientemente OpenUpgrade para actualizar una base de datos Odoo v15 a Odoo v16. En este blog post compartimos el paso a paso. Empecemos...
¿Que es OpenUpgrade ?
Es una librería respaldado por [OCA][3] que permite actualizar la base de datos de Odoo Community a una version superior.
Proceso de migración
Paso #1 - Respaldar la base de datos
Como primer paso hay que respaldar la base de datos que necesitamos migrar, es importar incluir el filestore
. Te dejamos aquí una guia para respaldar la base de datos via CLI.
Paso #2 - Restaurar la base de datos
Para restaurar la base de datos podrás utilizar la siguiente URL http://localhost:8069/web/database/manager
.
Paso #3 - Preparar espacio de trabajo
Crearemos una carpeta, y nos posicionaremos en dicha carpeta para llevar acabo la migración.
mkdir -p ~/odoo-15-16
cd ~/odoo-15-16
Paso #4 - Instalar OpenUpgrade
El paquete openupgradelib
contiene scripts de análisis y migración de módulos nativos de Odoo SA. Copia y pega el siguiente comando para instalar.
pip3 install --ignore-installed git+https://github.com/OCA/openupgradelib.git@master
Dentro del espacio de trabajo vamos a descargar los archivos de OpenUpgrade a la version que migraremos. En nuestro caso sera la version 16.
git clone --branch=16.0 --depth=1 --single-branch https://github.com/OCA/OpenUpgrade.git openupgrade_16
Paso #5 - Módulos personalizados
Los módulos personalizados se deberán de migrar con anticipación.
En este ejemplo utilizaremos los módulos de oca/contrat#16.0
,
git clone --branch=16.0 --depth=1 --single-branch https://github.com/OCA/contract.git addons
Paso #6 - Ejecutar migración
Este es el ultimo paso de la migración. En la parte de abajo podrás ver las carpetas y archivos del espacio de trabajo.
~/odoo-15-16
|--odoo-16.0
| |--odoo-bin
|--openupgrade_15
|--addons
| |--contract
|--odoo.conf
Ahora si!, ejecuta el siguiente comando para iniciar la migración.
odoo-16.0/odoo-bin -c odoo.conf --database=contract_1516 --upgrade-path=./openupgrade_16/openupgrade_scripts/scripts --load=base,web,openupgrade_framework --update all --stop-after-init
Corrección de errores después de la actualización
Si hay algún error durante la migración, se deberá corregir manualmente y volver a ejecutar el script.
Una vez que el script de migración se ejecute correctamente, verá una base de datos actualizada.
Repita el proceso anterior para actualizar la base de datos de la versión 16 a la versión 17.
Referencias: