odoo/upgrade-util#347
Created by Sanchit Gupta (sagu)
Merged
at 3fcc23775a0c2fd4a8503cba0e737a64112c57f9
Statuses:
- 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
- merged
- 3 weeks ago by Upgrade, Christophe Simonis (chs)
| odoo/upgrade-util | |
|---|---|
| master | #347 |
[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