Actualizar a una nueva versión de Odoo
Skysize no ejecuta la actualización por sí mismo. Actualizas una copia de tu base de datos con una herramienta de actualización, adaptas tu código personalizado y luego importas el resultado en tu rama. Esta guía cubre el paso de tu versión actual a la siguiente, con una prueba previa en staging.
:::danger No cambies el campo Versión de Odoo para actualizar Cambiar Versión de Odoo en la Configuración principal de una rama no actualiza la base de datos. Elimina el despliegue e inicia una instalación nueva con una base de datos nueva y vacía. :::
1. Elegir una herramienta de actualización
| Edición | Herramienta | Cómo funciona |
|---|---|---|
| Enterprise | Servicio de actualización de Odoo | Envías un dump a Odoo y recibes un dump actualizado. Requiere una suscripción Enterprise válida. |
| Community | OCA OpenUpgrade | Ejecutas la migración tú mismo, en tu propia máquina, una versión cada vez. Por ejemplo, pasar de 17.0 a 19.0 significa ejecutar de 17.0 a 18.0 y luego de 18.0 a 19.0. |
Comprueba que la versión de destino esté disponible en Skysize: debe aparecer en la lista Versión de Odoo de tu rama. Una copia de seguridad de una versión que la plataforma no ofrece se rechaza al importarla.
2. Adaptar tu código personalizado
Actualiza tus módulos personalizados para la versión de destino en una rama de Git separada, y añade los nuevos paquetes de Python a requirements.txt. Los módulos de terceros también deben tener una versión para la versión de destino.
Si no tienes código personalizado, pasa al siguiente paso.
3. Probar en una rama de staging
- Crea una copia de producción: en la pestaña Despliegues, haz clic en Descargar copia de seguridad, elige Dump exacto de la base de datos y Con Filestore, y haz clic en Crear dump. Cuando esté listo, descárgalo desde la pestaña Copias de seguridad. Consulta Gestionar copias de seguridad.
- Ejecuta la herramienta de actualización sobre este archivo. En el servicio de actualización de Odoo, solicita una actualización de prueba.
- Abre el
.zipactualizado y comprueba su contenido:manifest.jsonindica la versión de destino.filestore/está presente. Si falta, cópialo desde la copia de seguridad que descargaste.
- Apunta una rama de staging a la rama de Git con tu código adaptado.
- Importa el archivo actualizado en esa rama de staging. Consulta Importar una copia de seguridad de Odoo existente.
La importación lee la versión de manifest.json y ajusta la rama a ella, así que no tienes que cambiar la versión tú mismo. Una restauración en una rama de staging se neutraliza automáticamente, por lo que no puede enviar correos ni llamar a integraciones en vivo.
Después, prueba en staging:
- Los usuarios pueden iniciar sesión y Aplicaciones muestra los módulos instalados esperados.
- El log de ejecución no tiene errores de módulos faltantes.
- Los adjuntos y los informes PDF se abren.
- Tus principales procesos de negocio funcionan, especialmente los que dependen de código personalizado.
Corrige cualquier problema en tu código, haz push y repite hasta que la prueba salga limpia. Un problema en los propios datos actualizados corresponde a la herramienta de actualización: vuelve a ejecutarla o contacta con Odoo si usas su servicio de actualización.
4. Actualizar producción
Planifica una ventana de mantenimiento, porque todo lo que se introduzca después de la copia final se pierde.
- Avisa a los usuarios de que la ventana ha empezado y pídeles que dejen de trabajar en Odoo.
- Pon Acción al actualizar código en No hacer nada en la rama de producción, para que fusionar el código adaptado no inicie un build en la versión antigua.
- Fusiona el código adaptado en la rama de Git de producción.
- Crea un dump final como en el paso 3, con Dump exacto de la base de datos y Con Filestore, y descárgalo.
- Actualiza este archivo. En el servicio de actualización de Odoo, solicita esta vez una actualización de producción: las actualizaciones de prueba están neutralizadas y no deben ponerse en servicio.
- Importa el archivo actualizado en la rama de producción. Una restauración en producción no se neutraliza.
- Sigue el progreso con Ver logs y repite las comprobaciones del paso 3.
- Devuelve Acción al actualizar código a su valor anterior.
El despliegue actual sigue funcionando durante la restauración y solo se reemplaza cuando el nuevo pasa su comprobación de estado. Si la restauración falla, producción se queda en la versión antigua.
:::note Límite de tamaño de subida Las importaciones están limitadas a 2 GB por archivo en el alojamiento gestionado. Si tu archivo actualizado es mayor, contacta con soporte antes de la ventana de mantenimiento. Consulta Importar una copia de seguridad de Odoo existente. :::
Volver a la versión antigua
Conserva el dump final del paso 4 hasta que estés seguro de la actualización.
Para volver atrás, revierte la fusión del código en la rama de Git de producción y luego importa ese dump en la rama de producción. La rama vuelve automáticamente a la versión antigua. Todo lo que se haya introducido desde la actualización se pierde.