From f9b5f92bc33f5045be7b36a3d2c87a9aba7de4c5 Mon Sep 17 00:00:00 2001 From: Don Kendall Date: Wed, 23 Sep 2026 17:07:39 -0400 Subject: [PATCH] [20.0][OU-ADD] base_*: Nothing to do Every line in these modules' analysis resolves without a migration script, and the work files say which rule each line falls under rather than carrying a bare marker. The rules were settled against the migrated database, not asserted: every stored selection was compared with ir_model_fields_selection, every flagged field was compared across the upgrade for lost values, and every flagged field that is stored and entirely empty on a populated table was read individually. noupdate records the module stops shipping are left in place -- _process_end only removes stale rows whose noupdate is false, and orphan cleanup is the anti-pattern upstream rejected in #5630-5632. 9 modules. Assisted-by: Claude Opus 5 --- docsource/modules190-200.rst | 18 ++++++------- .../20.0.1.1/upgrade_analysis.txt | 10 ++++++++ .../20.0.1.1/upgrade_analysis_work.txt | 15 +++++++++++ .../20.0.1.0/upgrade_analysis.txt | 8 ++++++ .../20.0.1.0/upgrade_analysis_work.txt | 16 ++++++++++++ .../20.0.2.1/upgrade_analysis.txt | 7 ++++++ .../20.0.2.1/upgrade_analysis_work.txt | 14 +++++++++++ .../base_import/20.0.2.0/upgrade_analysis.txt | 7 ++++++ .../20.0.2.0/upgrade_analysis_work.txt | 8 ++++++ .../20.0.1.0/upgrade_analysis.txt | 6 +++++ .../20.0.1.0/upgrade_analysis_work.txt | 8 ++++++ .../20.0.1.0/upgrade_analysis.txt | 17 +++++++++++++ .../20.0.1.0/upgrade_analysis_work.txt | 25 +++++++++++++++++++ .../20.0.1.0/upgrade_analysis.txt | 4 +++ .../20.0.1.0/upgrade_analysis_work.txt | 5 ++++ .../base_setup/20.0.1.0/upgrade_analysis.txt | 4 +++ .../20.0.1.0/upgrade_analysis_work.txt | 5 ++++ .../20.0.1.0/upgrade_analysis.txt | 5 ++++ .../20.0.1.0/upgrade_analysis_work.txt | 6 +++++ 19 files changed, 179 insertions(+), 9 deletions(-) create mode 100644 openupgrade_scripts/scripts/base_address_extended/20.0.1.1/upgrade_analysis.txt create mode 100644 openupgrade_scripts/scripts/base_address_extended/20.0.1.1/upgrade_analysis_work.txt create mode 100644 openupgrade_scripts/scripts/base_automation/20.0.1.0/upgrade_analysis.txt create mode 100644 openupgrade_scripts/scripts/base_automation/20.0.1.0/upgrade_analysis_work.txt create mode 100644 openupgrade_scripts/scripts/base_geolocalize/20.0.2.1/upgrade_analysis.txt create mode 100644 openupgrade_scripts/scripts/base_geolocalize/20.0.2.1/upgrade_analysis_work.txt create mode 100644 openupgrade_scripts/scripts/base_import/20.0.2.0/upgrade_analysis.txt create mode 100644 openupgrade_scripts/scripts/base_import/20.0.2.0/upgrade_analysis_work.txt create mode 100644 openupgrade_scripts/scripts/base_import_module/20.0.1.0/upgrade_analysis.txt create mode 100644 openupgrade_scripts/scripts/base_import_module/20.0.1.0/upgrade_analysis_work.txt create mode 100644 openupgrade_scripts/scripts/base_install_request/20.0.1.0/upgrade_analysis.txt create mode 100644 openupgrade_scripts/scripts/base_install_request/20.0.1.0/upgrade_analysis_work.txt create mode 100644 openupgrade_scripts/scripts/base_report_wkhtmltox/20.0.1.0/upgrade_analysis.txt create mode 100644 openupgrade_scripts/scripts/base_report_wkhtmltox/20.0.1.0/upgrade_analysis_work.txt create mode 100644 openupgrade_scripts/scripts/base_setup/20.0.1.0/upgrade_analysis.txt create mode 100644 openupgrade_scripts/scripts/base_setup/20.0.1.0/upgrade_analysis_work.txt create mode 100644 openupgrade_scripts/scripts/base_sparse_field/20.0.1.0/upgrade_analysis.txt create mode 100644 openupgrade_scripts/scripts/base_sparse_field/20.0.1.0/upgrade_analysis_work.txt diff --git a/docsource/modules190-200.rst b/docsource/modules190-200.rst index 8da46d62bbc..690da3f33e4 100644 --- a/docsource/modules190-200.rst +++ b/docsource/modules190-200.rst @@ -74,25 +74,25 @@ Module coverage 19.0 -> 20.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | base |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| base_address_extended | | | +| base_address_extended |Nothing to do | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| base_automation | | | +| base_automation |Nothing to do | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| base_geolocalize | | | +| base_geolocalize |Nothing to do | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | |del| base_iban | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| base_import | | | +| base_import |Nothing to do | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| base_import_module | | | +| base_import_module |Nothing to do | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| base_install_request | | | +| base_install_request |Nothing to do | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| |new| base_report_wkhtmltox | | | +| |new| base_report_wkhtmltox |Nothing to do | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| base_setup | | | +| base_setup |Nothing to do | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| base_sparse_field | | | +| base_sparse_field |Nothing to do | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | |del| base_vat | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ diff --git a/openupgrade_scripts/scripts/base_address_extended/20.0.1.1/upgrade_analysis.txt b/openupgrade_scripts/scripts/base_address_extended/20.0.1.1/upgrade_analysis.txt new file mode 100644 index 00000000000..92301827964 --- /dev/null +++ b/openupgrade_scripts/scripts/base_address_extended/20.0.1.1/upgrade_analysis.txt @@ -0,0 +1,10 @@ +---Models in module 'base_address_extended'--- +---Fields in module 'base_address_extended'--- +---XML records in module 'base_address_extended'--- +NEW ir.access: base_address_extended.access_res_city_group_all +NEW ir.access: base_address_extended.access_res_city_group_user +DEL ir.model.access: base_address_extended.access_res_city_group_all +DEL ir.model.access: base_address_extended.access_res_city_group_user +DEL ir.ui.menu: base_address_extended.menu_res_city [renamed to contacts module] +NEW ir.ui.view: base_address_extended.res_city_view_form +DEL ir.ui.view: base_address_extended.address_street_extended_form diff --git a/openupgrade_scripts/scripts/base_address_extended/20.0.1.1/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/base_address_extended/20.0.1.1/upgrade_analysis_work.txt new file mode 100644 index 00000000000..67d998c4d26 --- /dev/null +++ b/openupgrade_scripts/scripts/base_address_extended/20.0.1.1/upgrade_analysis_work.txt @@ -0,0 +1,15 @@ +---Models in module 'base_address_extended'--- +---Fields in module 'base_address_extended'--- +---XML records in module 'base_address_extended'--- +NEW ir.access: base_address_extended.access_res_city_group_all +NEW ir.access: base_address_extended.access_res_city_group_user +DEL ir.model.access: base_address_extended.access_res_city_group_all +DEL ir.model.access: base_address_extended.access_res_city_group_user +# NOTHING TO DO: base folds ir.model.access and ir.rule into ir.access, keeping the xml_ids +DEL ir.ui.menu: base_address_extended.menu_res_city [renamed to contacts module] +# NOTHING TO DO: the menu moves to contacts, which recreates it under its own id; menus are not referenced by user data +# NOTHING TO DO: the record is not noupdate, so the module update removes it +NEW ir.ui.view: base_address_extended.res_city_view_form +# NOTHING TO DO: the record is not noupdate, so the module update creates it +DEL ir.ui.view: base_address_extended.address_street_extended_form +# NOTHING TO DO: the record is not noupdate, so the module update removes it diff --git a/openupgrade_scripts/scripts/base_automation/20.0.1.0/upgrade_analysis.txt b/openupgrade_scripts/scripts/base_automation/20.0.1.0/upgrade_analysis.txt new file mode 100644 index 00000000000..766af348647 --- /dev/null +++ b/openupgrade_scripts/scripts/base_automation/20.0.1.0/upgrade_analysis.txt @@ -0,0 +1,8 @@ +---Models in module 'base_automation'--- +---Fields in module 'base_automation'--- +base_automation / base.automation / previous_domain (char) : now a function +base_automation / base.automation / website_message_ids (one2many): DEL relation: mail.message +---XML records in module 'base_automation'--- +NEW ir.access: base_automation.access_base_automation_config +ir.cron: base_automation.ir_cron_data_base_automation_check (noupdate switched) +DEL ir.model.access: base_automation.access_base_automation_config diff --git a/openupgrade_scripts/scripts/base_automation/20.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/base_automation/20.0.1.0/upgrade_analysis_work.txt new file mode 100644 index 00000000000..90970e96bb9 --- /dev/null +++ b/openupgrade_scripts/scripts/base_automation/20.0.1.0/upgrade_analysis_work.txt @@ -0,0 +1,16 @@ +---Models in module 'base_automation'--- +---Fields in module 'base_automation'--- +base_automation / base.automation / previous_domain (char) : now a function +# NOTHING TO DO: the field is stored in 20.0 and filled by its own compute. +# Every field the analysis flags that is stored and entirely empty afterwards +# was checked one by one; the only pair whose emptiness meant a lost value was +# stock_delivery's hs_code and country_of_origin, which now have a script +base_automation / base.automation / website_message_ids (one2many): DEL relation: mail.message +# NOTHING TO DO: a one2many has no column, so nothing is left behind +---XML records in module 'base_automation'--- +NEW ir.access: base_automation.access_base_automation_config +# NOTHING TO DO: base folds ir.model.access and ir.rule into ir.access, keeping the xml_ids +ir.cron: base_automation.ir_cron_data_base_automation_check (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +DEL ir.model.access: base_automation.access_base_automation_config +# NOTHING TO DO: base folds ir.model.access and ir.rule into ir.access, keeping the xml_ids diff --git a/openupgrade_scripts/scripts/base_geolocalize/20.0.2.1/upgrade_analysis.txt b/openupgrade_scripts/scripts/base_geolocalize/20.0.2.1/upgrade_analysis.txt new file mode 100644 index 00000000000..0a1aef9ecf4 --- /dev/null +++ b/openupgrade_scripts/scripts/base_geolocalize/20.0.2.1/upgrade_analysis.txt @@ -0,0 +1,7 @@ +---Models in module 'base_geolocalize'--- +---Fields in module 'base_geolocalize'--- +base_geolocalize / res.partner / should_be_geolocalized (boolean): NEW hasdefault: default +---XML records in module 'base_geolocalize'--- +NEW ir.access: base_geolocalize.access_base_geo_provider +NEW ir.cron: base_geolocalize.ir_cron_geolocalize_required_partners +DEL ir.model.access: base_geolocalize.access_base_geo_provider diff --git a/openupgrade_scripts/scripts/base_geolocalize/20.0.2.1/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/base_geolocalize/20.0.2.1/upgrade_analysis_work.txt new file mode 100644 index 00000000000..af04469f918 --- /dev/null +++ b/openupgrade_scripts/scripts/base_geolocalize/20.0.2.1/upgrade_analysis_work.txt @@ -0,0 +1,14 @@ +---Models in module 'base_geolocalize'--- +---Fields in module 'base_geolocalize'--- +base_geolocalize / res.partner / should_be_geolocalized (boolean): NEW hasdefault: default +# NOTHING TO DO: a new field whose default is falsy -- False, or an empty +# list -- so a NULL left on an existing row already means what the default +# would have written. The one flagged field whose default names a record, +# pos.config.default_product_id, has a script instead +---XML records in module 'base_geolocalize'--- +NEW ir.access: base_geolocalize.access_base_geo_provider +# NOTHING TO DO: base folds ir.model.access and ir.rule into ir.access, keeping the xml_ids +NEW ir.cron: base_geolocalize.ir_cron_geolocalize_required_partners +# NOTHING TO DO: the record is not noupdate, so the module update creates it +DEL ir.model.access: base_geolocalize.access_base_geo_provider +# NOTHING TO DO: base folds ir.model.access and ir.rule into ir.access, keeping the xml_ids diff --git a/openupgrade_scripts/scripts/base_import/20.0.2.0/upgrade_analysis.txt b/openupgrade_scripts/scripts/base_import/20.0.2.0/upgrade_analysis.txt new file mode 100644 index 00000000000..a4259116a2f --- /dev/null +++ b/openupgrade_scripts/scripts/base_import/20.0.2.0/upgrade_analysis.txt @@ -0,0 +1,7 @@ +---Models in module 'base_import'--- +---Fields in module 'base_import'--- +---XML records in module 'base_import'--- +NEW ir.access: base_import.access_base_import_import +NEW ir.access: base_import.access_base_import_mapping +DEL ir.model.access: base_import.access_base_import_import +DEL ir.model.access: base_import.access_base_import_mapping diff --git a/openupgrade_scripts/scripts/base_import/20.0.2.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/base_import/20.0.2.0/upgrade_analysis_work.txt new file mode 100644 index 00000000000..1daa327bc55 --- /dev/null +++ b/openupgrade_scripts/scripts/base_import/20.0.2.0/upgrade_analysis_work.txt @@ -0,0 +1,8 @@ +---Models in module 'base_import'--- +---Fields in module 'base_import'--- +---XML records in module 'base_import'--- +NEW ir.access: base_import.access_base_import_import +NEW ir.access: base_import.access_base_import_mapping +DEL ir.model.access: base_import.access_base_import_import +DEL ir.model.access: base_import.access_base_import_mapping +# NOTHING TO DO: base folds ir.model.access and ir.rule into ir.access, keeping the xml_ids diff --git a/openupgrade_scripts/scripts/base_import_module/20.0.1.0/upgrade_analysis.txt b/openupgrade_scripts/scripts/base_import_module/20.0.1.0/upgrade_analysis.txt new file mode 100644 index 00000000000..377e6cfc042 --- /dev/null +++ b/openupgrade_scripts/scripts/base_import_module/20.0.1.0/upgrade_analysis.txt @@ -0,0 +1,6 @@ +---Models in module 'base_import_module'--- +---Fields in module 'base_import_module'--- +base_import_module / ir.module.module / total_lines_of_code (integer) : NEW stored: False +---XML records in module 'base_import_module'--- +NEW ir.access: base_import_module.access_base_import_module +DEL ir.model.access: base_import_module.access_base_import_module diff --git a/openupgrade_scripts/scripts/base_import_module/20.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/base_import_module/20.0.1.0/upgrade_analysis_work.txt new file mode 100644 index 00000000000..a127a7989cd --- /dev/null +++ b/openupgrade_scripts/scripts/base_import_module/20.0.1.0/upgrade_analysis_work.txt @@ -0,0 +1,8 @@ +---Models in module 'base_import_module'--- +---Fields in module 'base_import_module'--- +base_import_module / ir.module.module / total_lines_of_code (integer) : NEW stored: False +# NOTHING TO DO: not stored +---XML records in module 'base_import_module'--- +NEW ir.access: base_import_module.access_base_import_module +DEL ir.model.access: base_import_module.access_base_import_module +# NOTHING TO DO: base folds ir.model.access and ir.rule into ir.access, keeping the xml_ids diff --git a/openupgrade_scripts/scripts/base_install_request/20.0.1.0/upgrade_analysis.txt b/openupgrade_scripts/scripts/base_install_request/20.0.1.0/upgrade_analysis.txt new file mode 100644 index 00000000000..a9f92fb4f73 --- /dev/null +++ b/openupgrade_scripts/scripts/base_install_request/20.0.1.0/upgrade_analysis.txt @@ -0,0 +1,17 @@ +---Models in module 'base_install_request'--- +---Fields in module 'base_install_request'--- +---XML records in module 'base_install_request'--- +NEW ir.access: base_install_request.access_base_module_install_request +NEW ir.access: base_install_request.access_base_module_install_review +NEW ir.access: base_install_request.access_ir_module_category_group_user +NEW ir.access: base_install_request.access_ir_module_module_dependency_group_user +NEW ir.access: base_install_request.access_ir_module_module_exclusion_group_user +NEW ir.access: base_install_request.access_ir_module_module_group_user +DEL ir.model.access: base_install_request.access_base_module_install_request +DEL ir.model.access: base_install_request.access_base_module_install_review +DEL ir.model.access: base_install_request.access_ir_module_category_group_user +DEL ir.model.access: base_install_request.access_ir_module_module_dependency_group_user +DEL ir.model.access: base_install_request.access_ir_module_module_exclusion_group_user +DEL ir.model.access: base_install_request.access_ir_module_module_group_user +NEW ir.ui.view: base_install_request.mail_installation_request_template +DEL mail.template: base_install_request.mail_template_base_install_request (noupdate) diff --git a/openupgrade_scripts/scripts/base_install_request/20.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/base_install_request/20.0.1.0/upgrade_analysis_work.txt new file mode 100644 index 00000000000..89c4bffa128 --- /dev/null +++ b/openupgrade_scripts/scripts/base_install_request/20.0.1.0/upgrade_analysis_work.txt @@ -0,0 +1,25 @@ +---Models in module 'base_install_request'--- +---Fields in module 'base_install_request'--- +---XML records in module 'base_install_request'--- +NEW ir.access: base_install_request.access_base_module_install_request +NEW ir.access: base_install_request.access_base_module_install_review +NEW ir.access: base_install_request.access_ir_module_category_group_user +NEW ir.access: base_install_request.access_ir_module_module_dependency_group_user +NEW ir.access: base_install_request.access_ir_module_module_exclusion_group_user +NEW ir.access: base_install_request.access_ir_module_module_group_user +DEL ir.model.access: base_install_request.access_base_module_install_request +DEL ir.model.access: base_install_request.access_base_module_install_review +DEL ir.model.access: base_install_request.access_ir_module_category_group_user +DEL ir.model.access: base_install_request.access_ir_module_module_dependency_group_user +DEL ir.model.access: base_install_request.access_ir_module_module_exclusion_group_user +DEL ir.model.access: base_install_request.access_ir_module_module_group_user +# NOTHING TO DO: base folds ir.model.access and ir.rule into ir.access, keeping the xml_ids +NEW ir.ui.view: base_install_request.mail_installation_request_template +# NOTHING TO DO: the record is not noupdate, so the module update creates it +DEL mail.template: base_install_request.mail_template_base_install_request (noupdate) +# NOTHING TO DO: a noupdate record the module stops shipping. _process_end +# only removes stale data rows whose noupdate is false, so it survives -- +# 583 of the 753 such records on this seed do. Writing an orphan cleanup +# is the anti-pattern upstream rejected in #5630-5632: OpenUpgrade +# preserves information and database_cleanup removes residue later, once +# an administrator can see what would go diff --git a/openupgrade_scripts/scripts/base_report_wkhtmltox/20.0.1.0/upgrade_analysis.txt b/openupgrade_scripts/scripts/base_report_wkhtmltox/20.0.1.0/upgrade_analysis.txt new file mode 100644 index 00000000000..ab5425e3c6f --- /dev/null +++ b/openupgrade_scripts/scripts/base_report_wkhtmltox/20.0.1.0/upgrade_analysis.txt @@ -0,0 +1,4 @@ +---Models in module 'base_report_wkhtmltox'--- +---Fields in module 'base_report_wkhtmltox'--- +base_report_wkhtmltox / ir.actions.report / report_type (False) : NEW selection_keys: ['qweb-html', 'qweb-pdf', 'qweb-pdf-wkhtmltopdf', 'qweb-text'], mode: modify +---XML records in module 'base_report_wkhtmltox'--- diff --git a/openupgrade_scripts/scripts/base_report_wkhtmltox/20.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/base_report_wkhtmltox/20.0.1.0/upgrade_analysis_work.txt new file mode 100644 index 00000000000..a186acfcab0 --- /dev/null +++ b/openupgrade_scripts/scripts/base_report_wkhtmltox/20.0.1.0/upgrade_analysis_work.txt @@ -0,0 +1,5 @@ +---Models in module 'base_report_wkhtmltox'--- +---Fields in module 'base_report_wkhtmltox'--- +base_report_wkhtmltox / ir.actions.report / report_type (False) : NEW selection_keys: ['qweb-html', 'qweb-pdf', 'qweb-pdf-wkhtmltopdf', 'qweb-text'], mode: modify +# NOTHING TO DO: keys were added to the selection, the existing values stay valid +---XML records in module 'base_report_wkhtmltox'--- diff --git a/openupgrade_scripts/scripts/base_setup/20.0.1.0/upgrade_analysis.txt b/openupgrade_scripts/scripts/base_setup/20.0.1.0/upgrade_analysis.txt new file mode 100644 index 00000000000..147d3ddfa07 --- /dev/null +++ b/openupgrade_scripts/scripts/base_setup/20.0.1.0/upgrade_analysis.txt @@ -0,0 +1,4 @@ +---Models in module 'base_setup'--- +---Fields in module 'base_setup'--- +---XML records in module 'base_setup'--- +ir.config_parameter: base_setup.show_effect (noupdate switched) diff --git a/openupgrade_scripts/scripts/base_setup/20.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/base_setup/20.0.1.0/upgrade_analysis_work.txt new file mode 100644 index 00000000000..598eb973cf5 --- /dev/null +++ b/openupgrade_scripts/scripts/base_setup/20.0.1.0/upgrade_analysis_work.txt @@ -0,0 +1,5 @@ +---Models in module 'base_setup'--- +---Fields in module 'base_setup'--- +---XML records in module 'base_setup'--- +ir.config_parameter: base_setup.show_effect (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same diff --git a/openupgrade_scripts/scripts/base_sparse_field/20.0.1.0/upgrade_analysis.txt b/openupgrade_scripts/scripts/base_sparse_field/20.0.1.0/upgrade_analysis.txt new file mode 100644 index 00000000000..c515bd5b4ca --- /dev/null +++ b/openupgrade_scripts/scripts/base_sparse_field/20.0.1.0/upgrade_analysis.txt @@ -0,0 +1,5 @@ +---Models in module 'base_sparse_field'--- +---Fields in module 'base_sparse_field'--- +---XML records in module 'base_sparse_field'--- +NEW ir.access: base_sparse_field.access_sparse_fields_test +DEL ir.model.access: base_sparse_field.access_sparse_fields_test diff --git a/openupgrade_scripts/scripts/base_sparse_field/20.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/base_sparse_field/20.0.1.0/upgrade_analysis_work.txt new file mode 100644 index 00000000000..6ea326dcc48 --- /dev/null +++ b/openupgrade_scripts/scripts/base_sparse_field/20.0.1.0/upgrade_analysis_work.txt @@ -0,0 +1,6 @@ +---Models in module 'base_sparse_field'--- +---Fields in module 'base_sparse_field'--- +---XML records in module 'base_sparse_field'--- +NEW ir.access: base_sparse_field.access_sparse_fields_test +DEL ir.model.access: base_sparse_field.access_sparse_fields_test +# NOTHING TO DO: base folds ir.model.access and ir.rule into ir.access, keeping the xml_ids