odoo/upgrade-util#347
Created by Sanchit Gupta (sagu)
Blocked
- Merge method
- Review
-
CI
- ci/runbot: Test upgrades between stable versions
- ci/upgrade_enterprise: Test upgrades for enterprise master
- label
- odoo-dev:master-prevent_manual_relation_table-sagu
- head
- f935aa1a73f0a18bf91a74c3222b6b877a7f0535
| odoo/upgrade-util | |
|---|---|
| master | #347 missing r+ |
[FIX] util/models: Fix upgradeError
There are two model A and B and there is
x many2many field in A model which is manual and relation with B. Now, B model is removed. So, For that relation table is droped but the field will there and in relation model _unknown will be set
https://github.com/odoo/upgrade-util/blob/25cb37389b527f442acfbb704e07769d69b11b9f/src/util/models.py#L242.
As the field belongs to A. So, table will be recreated from here as it checks only table is there or not and after that from here env variable it have in gone and below menitoned traceback will raise.
To Fix
removing M2m field and added into migration report
Traceback (most recent call last):
File "/home/odoo/src/odoo/19.0/odoo/service/server.py", line 1509, in preload_registries
registry = Registry.new(dbname, update_module=update_module, install_modules=config['init'], upgrade_modules=config['update'], reinit_modules=config['reinit'])
File "/home/odoo/src/odoo/19.0/odoo/tools/func.py", line 88, in locked
return func(inst, *args, **kwargs)
File "/home/odoo/src/odoo/19.0/odoo/orm/registry.py", line 185, in new
load_modules(
File "/home/odoo/src/odoo/19.0/odoo/modules/loading.py", line 580, in load_modules
model._register_hook()
File "/tmp/tmpkw62chtg/migrations/base/0.0.0/pre-models-ir_model_relation.py", line 49, in _register_hook
raise util.MigrationError("The following m2m relations have respawn:\n%s" % back_m2m)
odoo.upgrade.util.exceptions.UpgradeError: The following m2m relations have respawn:
- x_res_partner_uom_category_rel via uom.category
upg-3191893
opw-5175564