diff options
| author | Adrian Torres <adt@odoo.com> | 2020-08-20 14:02:00 +0000 |
|---|---|---|
| committer | Raphael Collet <rco@odoo.com> | 2020-08-21 11:10:50 +0000 |
| commit | b532e652064ff782213b114530466596400b0b09 (patch) | |
| tree | 6c89527bd396624dc714b930798eb55248fa45f6 /doc/reference/javascript_reference.rst | |
| parent | 4b879490dc8634b8b6533c9042b653fc7d342922 (diff) | |
[FIX] base: properly handle orphan xmlids
Before this commit:
* Add a field with studio to any view of module A
* Note that the model has to be unique to module A
* Uninstall module A
* Try to uninstall the `studio_customizations` module
-> MissingError, impossible to uninstall `studio_customizations`
This happens because when uninstalling module A, all `ir.model.fields`
for models of said module are deleted in cascade by PostgreSQL when
unlinking the module's `ir.model`, this means that the ORM has no way of
knowing exactly which `ir.model.fields` where deleted and which
corresponding `ir.model.data` should be deleted, so the `ir.model.data`
remain in the database as orphans (that can, and will be cleaned up
later).
However since #34435 the mechanic that avoids the removal of
LOG_ACCESS_COLUMNS performs field access on records that may not exist.
This commit solves this by simply making sure that all records exist
before performing any checks that may require field access (and thus can
trigger a MissingError if the record does not exist).
opw-2316973
closes odoo/odoo#56285
X-original-commit: 08e662823ccf7dbe4d497f3f487287cba285a852
Signed-off-by: Raphael Collet (rco) <rco@openerp.com>
Diffstat (limited to 'doc/reference/javascript_reference.rst')
0 files changed, 0 insertions, 0 deletions
