erplibre/script/analyse
Mathieu Benoit 13a7bca972 [FIX] anonymize : passer la liste noire entière sans échec ni omission
Le SQL de la liste noire dépasse MAX_ARG_STRLEN, les 131 072 octets que Linux
impose à UN argument ; il passe par un fichier avec -f, qui garde
--single-transaction que l'entrée standard aurait perdu. Les colonnes texte à
longueur déclarée sont tronquées par left(..., n), l'identifiant en TÊTE sur
une colonne unique. Tous les identifiants sont cités : Odoo laisse nommer un
champ user ou order.

Écarter toute colonne sous CHECK laissait res_partner.name intact ; sur du
texte, seules les contraintes de FORME sont hors de portée. Vérifié sur les
quatre cas ; un UPDATE qui échoue n'écrit rien.

--- EN ---

The blacklist SQL exceeds MAX_ARG_STRLEN, the 131 072 bytes Linux allows for
ONE argument; it travels through a file with -f, which keeps
--single-transaction that stdin would have dropped. Text columns with a
declared length are truncated by left(..., n), the id FIRST on a unique column.
Every identifier is quoted: Odoo allows a field named user or order.

Skipping every column under a CHECK left res_partner.name untouched; on text,
only FORM constraints are out of reach. Checked on the four cases; an UPDATE
that fails writes nothing.

Assisted-by: Claude Opus 5
(cherry picked from commit 610f1d30414d578b49bff5649dbda82f4a2eb19f)
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] anonymize : passer la liste noire entière sans échec ni omission 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