erplibre/script/analyse
Mathieu Benoit 2437a9b5ea [FIX] analyse: ne pas écrire de mots dans les champs qui portent des ids
Odoo déclare `parent_path` en `char` mais y range un chemin d'identifiants
— « 1/7/12/ » — reparsé aussitôt par int() : un mot écrit là casse le premier
chargement de page. Sept modèles `_parent_store` en portent un dans une base
ordinaire, et account_payment_term passe de même `days_next_month` à int().

L'anonymisation écarte les deux noms connus, puis sonde le contenu : une colonne
dont chaque valeur est un chemin reste intacte, même dans un module maison. Les
barres obliques sont exigées : un numéro tout en chiffres y échapperait.

Vérifié sur une base de production : les sept modèles chargent, les
partenaires sont anonymisés.

--- EN ---

Odoo declares `parent_path` as `char` but stores an identifier path in it —
« 1/7/12/ » — parsed right back with int(): a word written there breaks the
first page load. Seven `_parent_store` models carry one in an ordinary
database, and account_payment_term likewise passes `days_next_month` to int().

Anonymisation skips the two known names, then probes the content: a column
whose every value is a path is left alone, even in an in-house module. The
slashes are required: a number of pure digits would escape it.

Verified on a production database: the seven models load, partners are
anonymised.

Assisted-by: Claude Opus 5
(cherry picked from commit b47c94524d75172e7afce96e62f3f15b7ad6e225)
2026-08-29 02:11:04 -04:00
..
shell [FIX] script: make the analysis and migration tools executable 2026-08-22 07:23:59 -04:00
analyse_custom_field.py [FIX] script: make the analysis and migration tools executable 2026-08-22 07:23:59 -04:00
analyse_diff_tui.py [FIX] script: make the analysis and migration tools executable 2026-08-22 07:23:59 -04:00
analyse_schema_size.py [FIX] script: make the analysis and migration tools executable 2026-08-22 07:23:59 -04:00
analyse_view_custom.py [ADD] analyse: diff each website copy against the view it shadows 2026-08-23 02:09:59 -04:00
anonymize.py [FIX] analyse: ne pas écrire de mots dans les champs qui portent des ids 2026-08-29 02:11:04 -04:00
check_filestore.py [ADD] filestore: purge once at the end, tidy at the restore, see the 30 MB 2026-08-23 02:09:59 -04:00
check_instance_state.py [ADD] analyse: l'état d'une instance, lu pour l'usage qu'on en fait 2026-08-25 03:28:39 -04:00
check_migration_quality.py [FIX] analyse: dire CE QUI est parti avec une pièce jointe 2026-08-25 03:28:39 -04:00
check_migration_quality_tui.py [ADD] migration quality: biggest losses first, and the full lists behind « d » 2026-08-22 07:23:59 -04:00
check_migration_residue.py [FIX] analyse: chercher la liste de prix, pas son identifiant externe 2026-08-25 03:31:12 -04:00
check_module_dependency.py [ADD] analyse: i, u et t — installés, en cours, applications 2026-08-23 04:03:18 -04:00
check_module_dependency_tui.py [ADD] analyse: i, u et t — installés, en cours, applications 2026-08-23 04:03:18 -04:00
check_module_package.py [ADD] analyse: offer to install the suggested modules that are ready 2026-08-23 02:09:59 -04:00
lib_analyse.py [FIX] script: make the analysis and migration tools executable 2026-08-22 07:23:59 -04:00
monitoring.py [ADD] analyse: anonymiser une copie, sans IA et sans rien casser 2026-08-25 03:31:12 -04:00
monitoring_tui.py [ADD] analyse: anonymiser une copie, sans IA et sans rien casser 2026-08-25 03:31:12 -04:00
openupgrade_analysis.py [ADD] migration quality: lay OpenUpgrade's declared changes over the real ones 2026-08-22 07:24:00 -04:00