Cette migration a été faite avec l'outillage OCA OpenUpgrade .
La migration s'est faite du serveur 1 (Odoo 11 CE) vers le serveur 2 (Odoo 12 CE).
Serveur 1 :
- Debian 9.5
- Odoo CE 11.0 installé selon https://agipme.fr/2018/06/odoo-11-ce-installation-sur-debian-9.html
- utilisateur debian odoo avec droit sudo
- base Odoo appelé migr1
- modules de base CRM/Ventes/Facturation/Achats
- sources et base Odoo mis à jour
Serveur 2 :
- Ubuntu 16.04
- Odoo CE 12.0 installé selon la méthode 1 de https://agipme.fr/2019/02/installation-odoo-12-ce.html
Etape 1 - sur serveur 1
- se connecter sous bash avec le user odoo sur le répertoire /odoo
python -V
Python 2.7.13
python3 -V
Python 3.5.3
- installer pip3 et mise à jour dernière version
sudo apt-get install python3-pip
sudo pip3 install --upgrade pip
- télécharger OpenUpgrade
git clone https://github.com/OCA/OpenUpgrade.git
- install python requirements
cd OpenUpgrade
git checkout 12.0
sudo pip3 install -r requirements.txt
- installer openupgradelib
sudo pip3 install --ignore-installed git+https://github.com/OCA/openupgradelib.git@master
- Comparer la liste des modules installés avec les modules couverts par OpenUpgrade et vérifier qu'aucun module affiché n'est nécessaire au bon fonctionnement de votre Odoo
cd ..
diff odoo-server/addons OpenUpgrade/addons/ | grep -v "Common subdirectories" | grep -v "OpenUpgrade"
Seulement dans odoo-server/addons: account_asset
Seulement dans odoo-server/addons: account_budget
Seulement dans odoo-server/addons: account_cash_basis_base_account
Seulement dans odoo-server/addons: account_invoicing
Seulement dans odoo-server/addons: anonymization
Seulement dans odoo-server/addons: auth_crypt
Seulement dans odoo-server/addons: base_vat_autocomplete
Seulement dans odoo-server/addons: l10n_be_intrastat
Seulement dans odoo-server/addons: mrp_repair
Seulement dans odoo-server/addons: pos_data_drinks
Seulement dans odoo-server/addons: product_extended
Seulement dans odoo-server/addons: rating_project
Seulement dans odoo-server/addons: report_intrastat
Seulement dans odoo-server/addons: sale_order_dates
Seulement dans odoo-server/addons: sale_payment
Seulement dans odoo-server/addons: sale_service_rating
Seulement dans odoo-server/addons: web_planner
Seulement dans odoo-server/addons: website_forum_doc
Seulement dans odoo-server/addons: website_quote
Seulement dans odoo-server/addons: website_rating_project
Seulement dans odoo-server/addons: website_sale_options
Seulement dans odoo-server/addons: website_sale_stock_options
- appeler http://<serveur1>:8069/web/database/manager et dupliquer la base migr1 vers migr1_v12
- lancer openupgrade (sur un autre port que votre Odoo de production, par exemple 8079)
OpenUpgrade/odoo-bin --addons-path OpenUpgrade/addons --database migr1_v12 --xmlrpc-port 8079 --update all --stop-after-init --logfile /tmp/migration.log
- vérifier l'affichage dans le fichier migration.log de :
2019-09-24 08:00:08,611 818 INFO migr1_v12 odoo.modules.loading: Modules loaded.
2019-09-24 08:00:08,676 818 INFO migr1_v12 odoo.service.server: Initiating shutdown
2019-09-24 08:00:08,678 818 INFO migr1_v12 odoo.service.server: Hit CTRL-C again or send a second signal to force the shutdown.
- appeler http://<serveur1>:8069/web/database/manager and sauvegarde base migr1_v12 dans le fichier migr1_v12_2019-xx-xx.zip
Etape 2 - sur Serveur 2
- appeler http://<serveur2>:8069/web/database/manager et restaurer la base migr1_v12
- se connecter sous bash avec le user odoo sur le répertoire /odoo
- mise à jour Odoo (sur un autre port que le Odoo de production)
./odoo-server/odoo-bin -u all --xmlrpc-port 8079 -d migr1_v12 --stop-after-init
- arrêt/relance odoo
sudo service odoo-server restart
Conclusion
Contrairement à la migration v10->v11 où j'avais rencontré plusieurs problèmes, tout s'est parfaitement déroulé ici.
Todo
- utiliser le module database_cleaner
Bonjour,
pour la migration odoo10=>11, ras tut c’est super bien passé
par contre pour odoo11=>12, j’ai cette erreur.
Avez vous une idée du problème ?
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File « /odoo11/OpenUpgrade/odoo/service/server.py », line 1151, in preload_registries
registry = Registry.new(dbname, update_module=update_module)
File « /odoo11/OpenUpgrade/odoo/modules/registry.py », line 86, in new
odoo.modules.load_modules(registry._db, force_demo, status, update_module)
File « /odoo11/OpenUpgrade/odoo/modules/loading.py », line 476, in load_modules
force, status, report, loaded_modules, update_module, models_to_check, upg_registry)
File « /odoo11/OpenUpgrade/odoo/modules/loading.py », line 360, in load_marked_modules
upg_registry=upg_registry,
File « /odoo11/OpenUpgrade/odoo/modules/loading.py », line 249, in load_module_graph
load_data(cr, idref, mode, kind=’data’, package=package, report=report)
File « /odoo11/OpenUpgrade/odoo/modules/loading.py », line 72, in load_data
tools.convert_file(cr, package.name, filename, idref, mode, noupdate, kind, report)
File « /odoo11/OpenUpgrade/odoo/tools/convert.py », line 807, in convert_file
convert_xml_import(cr, module, fp, idref, mode, noupdate, report)
File « /odoo11/OpenUpgrade/odoo/tools/convert.py », line 870, in convert_xml_import
obj.parse(doc.getroot(), mode=mode)
File « /odoo11/OpenUpgrade/odoo/tools/convert.py », line 769, in parse
exc_info[2]
File « /odoo11/OpenUpgrade/odoo/tools/pycompat.py », line 86, in reraise
raise value.with_traceback(tb)
File « /odoo11/OpenUpgrade/odoo/tools/convert.py », line 763, in parse
self._tags[rec.tag](rec, de, mode=mode)
File « /odoo11/OpenUpgrade/odoo/tools/convert.py », line 668, in _tag_record
record = model.with_context(rec_context)._load_records([data], self.mode == ‘update’)
File « /odoo11/OpenUpgrade/odoo/models.py », line 3859, in _load_records
data[‘record’]._load_records_write(data[‘values’])
File « /odoo11/OpenUpgrade/odoo/models.py », line 3797, in _load_records_write
self.write(values)
File « /odoo11/OpenUpgrade/addons/mail/models/res_users.py », line 157, in write
write_res = super(res_groups_mail_channel, self).write(vals)
File « /odoo11/OpenUpgrade/odoo/addons/base/models/res_users.py », line 1008, in write
res = super(GroupsView, self).write(values)
File « /odoo11/OpenUpgrade/odoo/addons/base/models/res_users.py », line 940, in write
self._check_one_user_type()
File « /odoo11/OpenUpgrade/odoo/addons/base/models/res_users.py », line 113, in _check_one_user_type
self.mapped(‘users’)._check_one_user_type()
File « /odoo11/OpenUpgrade/odoo/addons/base/models/res_users.py », line 405, in _check_one_user_type
raise ValidationError(_(‘The user cannot have more than one user types.’))
odoo.tools.convert.ParseError: « L’utilisateur ne peut pas avoir plus d’un type d’utilisateur.
None » while parsing /odoo11/OpenUpgrade/addons/sales_team/security/sales_team_security.xml:3, near
User: Own Documents Only
the user will have access to his own data in the sales application.
Est ce une erreur bloquante ou le processus de migration Odoo se termine t-il quand même correctement ?
Bonjour, votre tuto m’a grandement aidé pour la migration V11 –> V12
Sans etre certain que c’était possible, J’ai essayé de réaliser une migration V12 –> V13 mais j’obtiens cette erreur, cela vous parlera peut-être.
Error to render compiling AST
AttributeError: ‘website’ object has no attribute ‘social_googleplus’
Template: web.frontend_layout
Path: /t/html/body/div/footer/div[1]/div/div[2]/h2/a[5]
Node:
Cordialement
Bonjour,
La migration v12->v13 n’est pas encore possible avec OpenUpgrade.
Voici un lien qui indique son avancement : https://github.com/OCA/OpenUpgrade/issues/1733
Merci ceci répond bien à ma question 🙂
Merci pour cette information. Est ce que vous pourriez suggérer une autre façon de faire une Migration v12 vers v13 ? Merci.
http://odoomigrationagent.com/ mais c’est payant !!
Bonjour,
Merci pour tout ça marche nickel, j’ai du faire une manipulation pour installer les dépendances sur 16.04.
sudo apt-get install libsasl2-dev python-dev libldap2-dev libssl-dev
source: https://github.com/odoo/odoo/issues/8849#issuecomment-322115976
Merci pour votre retour.