Pré-requis
Pour le bon déroulement de la migration Odoo 10 vers Odoo 11, nous supposons que vous avez :
- La dernière version de Docker installée sur votre ordinateur
- Un container PostgreSQL en version 9.6. Nous l’appellerons db_9-6.
- Un container Odoo 11.x connecté à db_9.6. Nous l’appellerons odoo_11.
- Une base de données installée sur db_9.6. Nous l’appellerons nuxly.
Contrairement aux migrations d’Odoo 8 à 9 et 9 à 10, l’utilisation d’un container Odoo 10 n’est pas envisageable. Le dépôt PostgreSQL n’est pas maintenu à jour, ce qui empêche d’installer les dépendances requises pour la migration.
Cette migration se passe “dans le meilleur des mondes” et suppose qu’aucune erreur ne subvienne. Cependant, il est possible que des erreurs se produisent au cours de votre migration. Nous sommes potentiellement tombés dessus, les résolutions sont référencées ultérieurement.
Procédure de migration Odoo 10 vers Odoo 11
- La migration par OpenUpgrade requiert certaines dépendances répertoriées dans le fichier requirements.txt du projet. Afin de satisfaire l’installation de ces dépendances et d’éviter les éventuels soucis lors de l’installation, nous avons installé les dépendances suivantes avant de débuter la migration.
root@odoo_11:/# apt update
root@odoo_11:/# apt install git nano locate build-essential python3-dev python3-pip libldap2-dev libsasl2-dev
- La migration des bases de données d’Odoo n’est pas fournie nativement avec la solution, c’est un service payant. C’est ainsi qu’est né le projet OpenUpgrade qui a pour but de réaliser cette migration. OpenUpgrade utilise sa propre librairie pour migrer Odoo : openupgradelib. Installez cette dernière et OpenUpgrade pour pouvoir continuer.
root@odoo_11:/# pip3 install openupgradelib
root@odoo_11:/# git clone -b 11.0 https://github.com/OCA/OpenUpgrade.git
- Installez tous les requirements pour le projet OpenUpgrade.
root@odoo_11:/# pip3 install -r /OpenUpgrade/requirements.txt
- Certains modules que vous voudrez migrer, tel que hr_timesheet_sheet, sont maintenant gérés OCA. En effet, ils ne sont plus maintenus par Odoo. Pour voir tous les modules obsolètes, nous nous sommes référé au tableau de migration des modules de la documentation officielle d’OpenUpgrade. Pour qu’ils soient pris en compte lors de la migration, clonez les librairies d’OCA dont vous avez besoin.
root@odoo_11:/# git clone -b 11.0 https://github.com/OCA/contract.git
root@odoo_11:/# git clone -b 11.0 https://github.com/OCA/knowledge.git
root@odoo_11:/# git clone -b 11.0 https://github.com/OCA/timesheet.git
root@odoo_11:/# git clone -b 11.0 https://github.com/OCA/web.git
- Copiez les modules requis dans le dossier addons d’OpenUpgrade pour qu’il soit pris en compte lors de la migration. Le module web_widget_x2many_2d_matrix est une dépendance de hr_timesheet_sheet. Il doit donc être présent dans le dossier addons de base.
root@odoo_11:/# cp -r /contract/contract /OpenUpgrade/addons/contract
root@odoo_11:/# cp -r /knowledge/knowledge /OpenUpgrade/addons/knowledge
root@odoo_11:/# cp -r /timesheet/hr_timesheet_sheet /OpenUpgrade/addons/hr_timesheet_sheet
root@odoo_11:/# cp -r /web/web_widget_x2many_2d_matrix /usr/lib/python3/dist-packages/odoo/addons/web_widget_x2many_2d_matrix
- Vous pouvez enfin lancer la migration !
root@odoo_11:/# cd OpenUpgrade/
root@odoo_11:/# ./odoo-bin --addons-path=addons -d nuxly --db_host=172.17.0.2 -r odoo -w odoo -u all --stop-after-init --data-dir=/tmp
- Voilà ! La base de données migrée sous Odoo 11 est prête à l’emploi. Si vous souhaitez continuer à migrer sous Odoo 12, vous pouvez vous référer à notre article sur le sujet.
Potentiels erreurs rencontrées lors de la migration
Les seules erreurs rencontrées lors de la migration Odoo 10 vers Odoo 11 sont celles traitées lors de la migration Odoo 9 à 10.