ODOO 11 CE – migration en v12

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 :

Serveur 2 :

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

 

9 réflexions sur « ODOO 11 CE – migration en v12 »

  1. 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.

  2. 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

      1. Merci pour cette information. Est ce que vous pourriez suggérer une autre façon de faire une Migration v12 vers v13 ? Merci.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *