What is OpenUpgrade
Odoo is an open core business application suite and development platform.
This project, OpenUpgrade, aims to provide an Open Source upgrade path for Odoo. This is a community initiative under the Odoo Community Association umbrella, as the open source version of Odoo Community Edition (CE) does not support migrations from one major release to another.
At present, OpenUpgrade is the solution recommended by Fabien Pinckaers (CEO and Founder of Odoo S.A.) for migrating Odoo CE instances. (French-language discussion)
The project is hosted as two separate GitHub projects:
the framework which is a set of a few Odoo patches to ensure that upgrading to a major version can be performed
The database analysis which lists the differences between one version of Odoo and the next
The migration scripts which contains database transformation scripts for each installed Odoo module.
openupgradelib contains a library with helper functions. It can be used in the migration of any Odoo module
Note that the name of the project refers to the old name of Odoo, OpenERP and that the OpenUpgrade logo includes the ant present in the OpenERP logo.
Migration from one version to the next
In the following, Openupgrade X will be understood as the tool used to migrate a database from version X-1 to version X. For example, if you want to migrate from version 14.0 to 15.0:
Migration of several versions
It is perfectly possible to migrate several versions. In this case, you’ll need to perform all intermediate migrations sequentially. For example, if you want to migrate from version 14.0 to version 16.0, you should perform two Upgrades via OpenUpgrade 15.0, then OpenUpgrade 16.0:
From Openupgrade 5.0 to Openupgrade 13.0, the branches in https://github.com/OCA/OpenUpgrade contain copies (or forks in Git terminology) of the Odoo main project, but with extra commits that include the framework, and the analysis and the migration scripts for each module.
Since Openupgrade 14.0, the branches contain
openupgrade_frameworkwhich brings together all the patches of odoo
a module named
openupgrade_scriptswhich contains analysis and migration scripts.
Why migrate to a more recent major version
Security holes are regularly found in Odoo. Only the latest versions are patched, so older versions are left with security breeches that can be exploited. For several years now, Odoo’s policy has been to support the latest 3 versions.
Odoo regularly works on improving performance, so new versions are much faster than older ones.
Odoo is becoming increasingly popular. As a result, more community modules are available in recent Odoo versions. At the same time, more and more features are available in the native version of odoo.
In short, not migrating your Odoo instance to a recent version means increasing your technical debt.
For more information, see Daniel Reis’ presentation on the benefits of migration.
Alternative to Openupgrade
To migrate from one major version to another, there are alternatives to using OpenUpgrade :
Odoo S.A.’s service (https://upgrade.odoo.com/). Note that the migration scripts are not Open Source and are only available if you subscribe to Odoo Enterprise Edition.
Export data (products, customers) from your old instance, install Odoo in a recent version, and import data into the new version. Note that in this case, you won’t recover all the data in your new instance, but only some of it. (in particular, you won’t have the history and links between data, like the invoices for all customers for example).
To conclude, as Richard Stallman explains, Odoo is a software “diachronically trapped”. OpenUpgrade is the only option for keeping Odoo Open Source.