Skip to content

[12 -> 13.0] muk_dms: OpenUpgrade: dms: error in migration script /opt/odoo/lib/addons/oca-mirror-dms/dms/migrations/13.0.8.1.0/post-migration.py: ('dms.file(3249,).content', None) #4881 #394

@olaf-wagner

Description

@olaf-wagner

When I run the migration in 13.0, it fails in the postmigration step for the dms. Im am using the latest versions of the openupgradelib (3.9.3) and the 13.0 branch from openupgrade itself.

Module

dms

Describe the bug

Post-migration script fails with this error:

2025-03-24 16:20:03,420 2372 INFO elego_v13 odoo.modules.migration: module dms: Running migration [13.0.8.1.0>] post-migration
2025-03-24 16:20:03,422 2372 INFO elego_v13 OpenUpgrade: dms: post-migration script called with version 12.0.2.0.1
2025-03-24 16:20:03,579 2372 ERROR elego_v13 OpenUpgrade: dms: error in migration script /opt/odoo/lib/addons/oca-mirror-dms/dms/migrations/13.0.8.1.0/post-migration.py: ('dms.file(3249,).content', None)
2025-03-24 16:20:03,579 2372 ERROR elego_v13 OpenUpgrade: ('dms.file(3249,).content', None)
Traceback (most recent call last):
  File "/opt/odoo/lib/odoo/odoo/api.py", line 748, in get
    value = self._data[field][record._ids[0]]
KeyError: 3249

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/odoo/lib/odoo/odoo/fields.py", line 1038, in __get__
    value = env.cache.get(record, self)
  File "/opt/odoo/lib/odoo/odoo/api.py", line 754, in get
    raise CacheMiss(record, field)
odoo.exceptions.CacheMiss: ('dms.file(3249,).content', None)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/odoo/lib/odoo/odoo/api.py", line 748, in get
    value = self._data[field][record._ids[0]]
KeyError: 3249

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.7/dist-packages/openupgradelib/openupgrade.py", line 2331, in wrapped_function
    version,
  File "/opt/odoo/lib/addons/oca-mirror-dms/dms/migrations/13.0.8.1.0/post-migration.py", line 9, in migrate
    env["dms.file"].search([])._compute_mimetype()
  File "/opt/odoo/lib/addons/oca-mirror-dms/dms/models/dms_file.py", line 379, in _compute_mimetype
    record.res_mimetype = guess_mimetype(base64.b64decode(record.content or ""))
  File "/opt/odoo/lib/odoo/odoo/fields.py", line 1065, in __get__
    value = env.cache.get(record, self)
  File "/opt/odoo/lib/odoo/odoo/api.py", line 754, in get
    raise CacheMiss(record, field)
odoo.exceptions.CacheMiss: ('dms.file(3249,).content', None)
2025-03-24 16:20:03,584 2372 ERROR elego_v13 odoo.modules.loading: Error executing post migration script for module dms
: ('dms.file(3249,).content', None)
2025-03-24 16:20:03,596 2372 ERROR elego_v13 odoo.modules.registry: Failed to load registry
Traceback (most recent call last):
  File "/opt/odoo/lib/odoo/odoo/api.py", line 748, in get
    value = self._data[field][record._ids[0]]
KeyError: 3249

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/odoo/lib/odoo/odoo/fields.py", line 1038, in __get__
    value = env.cache.get(record, self)
  File "/opt/odoo/lib/odoo/odoo/api.py", line 754, in get
    raise CacheMiss(record, field)
odoo.exceptions.CacheMiss: ('dms.file(3249,).content', None)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/odoo/lib/odoo/odoo/api.py", line 748, in get
    value = self._data[field][record._ids[0]]
KeyError: 3249

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/odoo/lib/odoo/odoo/modules/registry.py", line 87, in new
    odoo.modules.load_modules(registry._db, force_demo, status, update_module)
  File "/opt/odoo/lib/odoo/odoo/modules/loading.py", line 489, in load_modules
    force, status, report, loaded_modules, update_module, models_to_check, upg_registry)
  File "/opt/odoo/lib/odoo/odoo/modules/loading.py", line 368, in load_marked_modules
    upg_registry=upg_registry,
  File "/opt/odoo/lib/odoo/odoo/modules/loading.py", line 256, in load_module_graph
    migrations.migrate_module(package, 'post')
  File "/opt/odoo/lib/odoo/odoo/modules/migration.py", line 191, in migrate_module
    migrate(self.cr, installed_version)
  File "/usr/local/lib/python3.7/dist-packages/openupgradelib/openupgrade.py", line 2331, in wrapped_function
    version,
  File "/opt/odoo/lib/addons/oca-mirror-dms/dms/migrations/13.0.8.1.0/post-migration.py", line 9, in migrate
    env["dms.file"].search([])._compute_mimetype()
  File "/opt/odoo/lib/addons/oca-mirror-dms/dms/models/dms_file.py", line 379, in _compute_mimetype
    record.res_mimetype = guess_mimetype(base64.b64decode(record.content or ""))
  File "/opt/odoo/lib/odoo/odoo/fields.py", line 1065, in __get__
    value = env.cache.get(record, self)
  File "/opt/odoo/lib/odoo/odoo/api.py", line 754, in get
    raise CacheMiss(record, field)
odoo.exceptions.CacheMiss: ('dms.file(3249,).content', None)
2025-03-24 16:20:03,597 2372 CRITICAL elego_v13 odoo.service.server: Failed to initialize database `elego_v13`.
Traceback (most recent call last):
  File "/opt/odoo/lib/odoo/odoo/api.py", line 748, in get
    value = self._data[field][record._ids[0]]
KeyError: 3249

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/odoo/lib/odoo/odoo/fields.py", line 1038, in __get__
    value = env.cache.get(record, self)
  File "/opt/odoo/lib/odoo/odoo/api.py", line 754, in get
    raise CacheMiss(record, field)
odoo.exceptions.CacheMiss: ('dms.file(3249,).content', None)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/odoo/lib/odoo/odoo/api.py", line 748, in get
    value = self._data[field][record._ids[0]]
KeyError: 3249

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/odoo/lib/odoo/odoo/service/server.py", line 1194, in preload_registries
    registry = Registry.new(dbname, update_module=update_module)
  File "/opt/odoo/lib/odoo/odoo/modules/registry.py", line 87, in new
    odoo.modules.load_modules(registry._db, force_demo, status, update_module)
  File "/opt/odoo/lib/odoo/odoo/modules/loading.py", line 489, in load_modules
    force, status, report, loaded_modules, update_module, models_to_check, upg_registry)
  File "/opt/odoo/lib/odoo/odoo/modules/loading.py", line 368, in load_marked_modules
    upg_registry=upg_registry,
  File "/opt/odoo/lib/odoo/odoo/modules/loading.py", line 256, in load_module_graph
    migrations.migrate_module(package, 'post')
  File "/opt/odoo/lib/odoo/odoo/modules/migration.py", line 191, in migrate_module
    migrate(self.cr, installed_version)
  File "/usr/local/lib/python3.7/dist-packages/openupgradelib/openupgrade.py", line 2331, in wrapped_function
    version,
  File "/opt/odoo/lib/addons/oca-mirror-dms/dms/migrations/13.0.8.1.0/post-migration.py", line 9, in migrate
    env["dms.file"].search([])._compute_mimetype()
  File "/opt/odoo/lib/addons/oca-mirror-dms/dms/models/dms_file.py", line 379, in _compute_mimetype
    record.res_mimetype = guess_mimetype(base64.b64decode(record.content or ""))
  File "/opt/odoo/lib/odoo/odoo/fields.py", line 1065, in __get__
    value = env.cache.get(record, self)
  File "/opt/odoo/lib/odoo/odoo/api.py", line 754, in get
    raise CacheMiss(record, field)
odoo.exceptions.CacheMiss: ('dms.file(3249,).content', None)
2025-03-24 16:20:03,599 2372 INFO elego_v13 odoo.service.server: Stopping gracefully
openupgrade failed

This may be a subsequent error, as I see some of these error logs before:

2025-03-24 16:20:03,383 2372 ERROR elego_v13 OpenUpgrade: Pass argument 'env_or_cr' as Cursor parameter until 16.0

I haven’t been able to isolate the problem further yet.
The actual data — dms.file(3249) — is there and should be correct (at least in the MuK tables); content is
one of the columns that are new or migrated.

To Reproduce

  • not clear how to reproduce without the database in question yet

Expected behavior
Migration from muk_dms to dms should not fail.

Additional context

OpenUpgrade is run in a docker-container with OpenUpgrade 13 mounted as Odoo repository.
Some version information:

odoo@38ee1fa96a81:/$ cat /etc/debian_version 
10.3
odoo@38ee1fa96a81:/$ python3 --version
Python 3.7.3
odoo@38ee1fa96a81:/$ pip3 list | grep openupgrade
openupgradelib        3.9.3        

All errors from upgrade log:

2025-03-24 17:03:49,533 3915 ERROR elego_v13 OpenUpgrade: Pass argument 'env_or_cr' as Cursor parameter until 16.0 
2025-03-24 17:04:02,655 3915 ERROR elego_v13 OpenUpgrade: Pass argument 'env_or_cr' as Cursor parameter until 16.0 
2025-03-24 17:04:05,534 3915 ERROR elego_v13 OpenUpgrade: Pass argument 'env_or_cr' as Cursor parameter until 16.0 
2025-03-24 17:04:22,461 3915 ERROR elego_v13 OpenUpgrade: Pass argument 'env_or_cr' as Cursor parameter until 16.0 
2025-03-24 17:04:26,977 3915 ERROR elego_v13 OpenUpgrade: Pass argument 'env_or_cr' as Cursor parameter until 16.0 
2025-03-24 17:04:28,358 3915 ERROR elego_v13 OpenUpgrade: Pass argument 'env_or_cr' as Cursor parameter until 16.0 
2025-03-24 17:04:29,458 3915 ERROR elego_v13 OpenUpgrade: Pass argument 'env_or_cr' as Cursor parameter until 16.0 
2025-03-24 17:04:33,662 3915 ERROR elego_v13 OpenUpgrade: Pass argument 'env_or_cr' as Cursor parameter until 16.0 
2025-03-24 17:04:57,047 3915 ERROR elego_v13 OpenUpgrade: Pass argument 'env_or_cr' as Cursor parameter until 16.0 
2025-03-24 17:05:07,801 3915 ERROR elego_v13 OpenUpgrade: Pass argument 'env_or_cr' as Cursor parameter until 16.0 
2025-03-24 17:05:23,135 3915 ERROR elego_v13 OpenUpgrade: Pass argument 'env_or_cr' as Cursor parameter until 16.0 
2025-03-24 17:05:47,220 3915 ERROR elego_v13 OpenUpgrade: Pass argument 'env_or_cr' as Cursor parameter until 16.0 
2025-03-24 17:05:47,278 3915 ERROR elego_v13 OpenUpgrade: Pass argument 'env_or_cr' as Cursor parameter until 16.0 
2025-03-24 17:05:52,302 3915 ERROR elego_v13 OpenUpgrade: Pass argument 'env_or_cr' as Cursor parameter until 16.0 
2025-03-24 17:05:57,235 3915 ERROR elego_v13 OpenUpgrade: Pass argument 'env_or_cr' as Cursor parameter until 16.0 
2025-03-24 17:06:22,008 3915 ERROR elego_v13 OpenUpgrade: Pass argument 'env_or_cr' as Cursor parameter until 16.0 
2025-03-24 17:06:22,198 3915 ERROR elego_v13 OpenUpgrade: dms: error in migration script /opt/odoo/lib/addons/oca-mirror-dms/dms/migrations/13.0.8.1.0/post-migration.py: ('dms.file(3249,).content', None) 
2025-03-24 17:06:22,199 3915 ERROR elego_v13 OpenUpgrade: ('dms.file(3249,).content', None) 
2025-03-24 17:06:22,207 3915 ERROR elego_v13 odoo.modules.loading: Error executing post migration script for module dms
2025-03-24 17:06:22,225 3915 ERROR elego_v13 odoo.modules.registry: Failed to load registry 

Complete log attached.

elego-mig-v13-ou.log

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions