Nothing was lost at the 13 bump: 69 files, 16 folders and 23 MB of content_binary are identical from 12 to 18. What changed is the security model. MuK filtered on company alone; OCA DMS adds a GLOBAL rule on permission_read, granted only through a dms.access.group or through storages saved as attachment. The migration created no group — MuK had none to convert — and the storages are database. Both doors shut, every user sees zero. Reports without writing unless --apply. The visibility count uses a real user: the global rule spares the superuser, so a sudo count would call a mute database healthy. --- FR --- Rien n'a été perdu au palier 13 : 69 fichiers, 16 dossiers et 23 Mo de content_binary sont identiques de la 12 à la 18. C'est le modèle de sécurité qui a changé. MuK ne filtrait que sur la société ; OCA DMS ajoute une règle GLOBALE sur permission_read, accordée par une dms.access.group ou par un stockage en attachment. La migration n'a créé aucun groupe — MuK n'en avait aucun à convertir — et les stockages sont en database. Les deux portes fermées, personne ne voit rien. Rapport sans écriture sauf --apply. Le comptage de visibilité passe par un vrai utilisateur : la règle globale épargne le super-utilisateur, donc un comptage en sudo déclarerait saine une base muette. Assisted-by: Claude Opus 5 |
||
|---|---|---|
| .. | ||
| check_cow_views.py | ||
| check_stale_scss.py | ||
| check_stale_scss_tui.py | ||
| cow_drift.py | ||
| cow_drift_tui.py | ||
| database_cleanup.py | ||
| dms_access_repair.py | ||
| fix_migration_odoo130_to_odoo140.sql | ||
| fix_migration_odoo140_to_odoo150.py | ||
| neutralize_cow_views.py | ||
| README.base.md | ||
| README.fr.md | ||
| README.md | ||
| reset_stale_cow_tui.py | ||
| reset_stale_cow_views.py | ||
| smoke_internal_ui.py | ||
| smoke_public_url.py | ||
| snapshot_cow_views.py | ||
| uninstall_module_list_odoo140_to_odoo150.txt | ||
Migration
Run this script when doing database migration. Example :
source ./.venv.odoo15.0_python3.8.20/bin/activate && cat ./script/odoo/migration/fix_migration_odoo140_to_odoo150.py | ./odoo15.0/odoo/odoo-bin shell -d DATABASE
Check uninstall_module_list_odoo140_to_odoo150.txt
Module lists to uninstall
Before a version bump, the migration uninstalls the modules listed in
uninstall_module_list_odoo<from>_to_odoo<to>.txt. Two locations are read, the
private one first, and the results are merged (duplicates dropped):
private/odoo/migration/<database>/uninstall_module_list_odooXX0_to_odooYY0.txt— specific to ONE database, not versioned. Which modules must be dropped depends on the data, so this is where nearly every entry belongs.script/odoo/migration/uninstall_module_list_odooXX0_to_odooYY0.txt— shared defaults, versioned, valid for every database.
Syntax: one module per line, with a justification after #. Commas and several
names per line are accepted; blank lines and full-line comments are ignored.
A module without a stated reason is flagged at runtime: removing a module is a
decision someone must be able to review later.
queue_job # blocks 12->13, trigger queue_job_notify
mgmtsystem_hazard # not ported to 13.0
web_syncer # dropped upstream