From 49dc87fca2290d25afc7a59c23f3d44c0b07fc0d Mon Sep 17 00:00:00 2001 From: Don Kendall Date: Wed, 3 Jun 2026 07:46:45 -0400 Subject: [PATCH] [OU-ADD] fleet: Migration scripts --- docsource/modules180-190.rst | 2 +- .../scripts/fleet/19.0.0.1/post-migration.py | 6 ++ .../scripts/fleet/19.0.0.1/pre-migration.py | 10 ++++ .../fleet/19.0.0.1/upgrade_analysis_work.txt | 55 +++++++++++++++++++ 4 files changed, 72 insertions(+), 1 deletion(-) create mode 100644 openupgrade_scripts/scripts/fleet/19.0.0.1/post-migration.py create mode 100644 openupgrade_scripts/scripts/fleet/19.0.0.1/pre-migration.py create mode 100644 openupgrade_scripts/scripts/fleet/19.0.0.1/upgrade_analysis_work.txt diff --git a/docsource/modules180-190.rst b/docsource/modules180-190.rst index 710b30ca4e96..12864f4b1ead 100644 --- a/docsource/modules180-190.rst +++ b/docsource/modules180-190.rst @@ -150,7 +150,7 @@ Module coverage 18.0 -> 19.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | event_sms | |No DB layout changes. | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| fleet | | | +| fleet |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | gamification |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ diff --git a/openupgrade_scripts/scripts/fleet/19.0.0.1/post-migration.py b/openupgrade_scripts/scripts/fleet/19.0.0.1/post-migration.py new file mode 100644 index 000000000000..ce5f6fe8e993 --- /dev/null +++ b/openupgrade_scripts/scripts/fleet/19.0.0.1/post-migration.py @@ -0,0 +1,6 @@ +from openupgradelib import openupgrade + + +@openupgrade.migrate() +def migrate(env, version): + openupgrade.load_data(env, "fleet", "19.0.0.1/noupdate_changes.xml") diff --git a/openupgrade_scripts/scripts/fleet/19.0.0.1/pre-migration.py b/openupgrade_scripts/scripts/fleet/19.0.0.1/pre-migration.py new file mode 100644 index 000000000000..c2d2af109791 --- /dev/null +++ b/openupgrade_scripts/scripts/fleet/19.0.0.1/pre-migration.py @@ -0,0 +1,10 @@ +from openupgradelib import openupgrade + +_renamed_fields = [ + ("fleet.vehicle", "fleet_vehicle", "first_contract_date", "contract_date_start"), +] + + +@openupgrade.migrate() +def migrate(env, version): + openupgrade.rename_fields(env, _renamed_fields) diff --git a/openupgrade_scripts/scripts/fleet/19.0.0.1/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/fleet/19.0.0.1/upgrade_analysis_work.txt new file mode 100644 index 000000000000..7b8a140ba04a --- /dev/null +++ b/openupgrade_scripts/scripts/fleet/19.0.0.1/upgrade_analysis_work.txt @@ -0,0 +1,55 @@ +---Models in module 'fleet'--- +new model fleet.vehicle.odometer.report [sql_view] + +# NOTHING TO DO + +---Fields in module 'fleet'--- +fleet / fleet.vehicle / co2_emission_unit (selection) : NEW required, selection_keys: ['g/km', 'g/mi'], isfunction: function, stored + +# NOTHING TO DO: computed/stored, recomputed by the ORM + +fleet / fleet.vehicle / contract_date_start (date) : NEW hasdefault: default +fleet / fleet.vehicle / first_contract_date (date) : DEL + +# DONE: rename first_contract_date->contract_date_start in pre-migration + +fleet / fleet.vehicle / horsepower (integer) : type is now 'float' ('integer') +fleet / fleet.vehicle / model_year (char) : selection_keys is now 'function' ('False') +fleet / fleet.vehicle / model_year (char) : type is now 'selection' ('char') +fleet / fleet.vehicle / plan_to_change_bike (boolean) : not related anymore +fleet / fleet.vehicle / plan_to_change_car (boolean) : not related anymore +fleet / fleet.vehicle / power (integer) : type is now 'float' ('integer') +fleet / fleet.vehicle / range_unit (selection) : NEW required, selection_keys: ['km', 'mi'], hasdefault: default +fleet / fleet.vehicle.log.services / brand_id (many2one) : NEW relation: fleet.vehicle.model.brand, isrelated: related, stored +fleet / fleet.vehicle.log.services / model_id (many2one) : NEW relation: fleet.vehicle.model, isrelated: related, stored +fleet / fleet.vehicle.model / drive_type (selection) : NEW selection_keys: ['4wd', 'awd', 'fwd', 'rwd'] +fleet / fleet.vehicle.model / horsepower (integer) : type is now 'float' ('integer') +fleet / fleet.vehicle.model / model_year (integer) : selection_keys is now 'function' ('False') +fleet / fleet.vehicle.model / model_year (integer) : type is now 'selection' ('integer') +fleet / fleet.vehicle.model / power (integer) : type is now 'float' ('integer') +fleet / fleet.vehicle.model / range_unit (selection) : NEW required, selection_keys: ['km', 'mi'], hasdefault: default +fleet / fleet.vehicle.odometer / driver_id (many2one) : is now stored +fleet / fleet.vehicle.odometer / driver_id (many2one) : not related anymore +fleet / fleet.vehicle.state / fold (boolean) : NEW +fleet / res.partner / plan_to_change_bike (boolean) : DEL +fleet / res.partner / plan_to_change_car (boolean) : DEL + +# NOTHING TO DO + +---XML records in module 'fleet'--- +NEW fleet.vehicle.model.brand: fleet.brand_gmc +NEW ir.actions.act_window: fleet.fleet_vehicle_odometer_reporting_action +NEW ir.model.access: fleet.access_fleet_vehicle_odometer_report_manager +DEL ir.module.category: fleet.module_fleet_category +DEL ir.rule: fleet.fleet_rule_contract_visibility_user (noupdate) +DEL ir.rule: fleet.fleet_rule_odometer_visibility_user (noupdate) +DEL ir.rule: fleet.fleet_rule_service_visibility_user (noupdate) +DEL ir.rule: fleet.fleet_rule_vehicle_visibility_user (noupdate) +NEW ir.ui.menu: fleet.menu_fleet_odometer_reporting_odometer +NEW ir.ui.view: fleet.fleet_vehicle_odometer_report_view_graph +NEW ir.ui.view: fleet.fleet_vehicle_odometer_report_view_search +NEW ir.ui.view: fleet.fleet_vehicle_view_form_quick_create +DEL ir.ui.view: fleet.fleet_vehicle_odometer_view_kanban +NEW res.groups.privilege: fleet.res_groups_privilege_fleet + +# NOTHING TO DO