odoo/upgrade-util#500
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-fix-m2m-not-exist-sagu
- head
- 71068495b6230b264fb7f58bf3e37e889729d10d
| odoo/upgrade-util | |
|---|---|
| master | #500 missing r+ |
[FIX] util/pg: fix m2m doesn't exist
When a custom field's relation model is renamed,
the relation model is updated in ir_model_fields
regardless of whether the field state is manual condition.
However, when renaming the model, the related
M2M tables and relation columns were updated
only for manual fields. This could leave the
relation inconsistent.
The inconsistency could later cause the mock
crawl to fail, as custom module fields are marked
as manual during the crawl.
Remove the manual condition so that relation
tables and columns are updated for all fields,
preventing upgrade requests from failing due to
inconsistent relation.
('hr_payroll_co.hr_contribution_form_menu_act', 362, 'Recursos Humanos > Autoliquidación > Planillas de aportes', 485):
Traceback (most recent call last):
File "/tmp/tmpfaiwjdd5/migrations/base/tests/test_mock_crawl.py", line 346, in crawl_menu
self.mock_action(action_vals)
File "/tmp/tmpfaiwjdd5/migrations/base/tests/test_mock_crawl.py", line 377, in mock_action
return self.mock_act_window(action)
File "/tmp/tmpfaiwjdd5/migrations/base/tests/test_mock_crawl.py", line 537, in mock_act_window
mock_method(model, view, fields_list, domain, group_by)
File "/tmp/tmpfaiwjdd5/migrations/base/tests/test_mock_crawl.py", line 570, in mock_view_form
[data] = record.read(fields_list)
File "/home/odoo/src/odoo/19.0/odoo/orm/models.py", line 3489, in read
self._origin.fetch(fields)
File "/home/odoo/src/odoo/19.0/odoo/orm/models.py", line 3812, in fetch
fetched = self._fetch_query(query, fields_to_fetch)
File "/home/odoo/src/odoo/19.0/odoo/orm/models.py", line 3940, in _fetch_query
field.read(fetched)
File "/home/odoo/src/odoo/19.0/odoo/orm/fields_relational.py", line 1396, in read
for id1, id2 in records.env.execute_query(query.select(sql_id1, sql_id2)):
File "/home/odoo/src/odoo/19.0/odoo/orm/environments.py", line 534, in execute_query
self.cr.execute(query)
File "/home/odoo/src/odoo/19.0/odoo/tests/test_cursor.py", line 79, in execute
return self._cursor.execute(*args, **kwargs)
File "/home/odoo/src/odoo/19.0/odoo/sql_db.py", line 440, in execute
self._obj.execute(query, params)
psycopg2.errors.UndefinedTable: relation "hr_contribution_form_hr_contract_rel" does not exist
LINE 1: ...ract_rel"."hr_contract_id" FROM "hr_version" JOIN "hr_contri...
upg-4614063