OdooWiki OCA HUB

Odoo Repository Migration Data

odoo_repository_migration folder_open OCA/module-composition-analysis open_in_new
Tools License: AGPL-3

This module collects and records modules migration data from Odoo repositories.

Thanks to oca-port and data collected by odoo_repository, this module will generate migration data on each module for declared migration paths (e.g. 16.0 -> 18.0).

Also, for specific cases you can declare what a module became in a given Odoo version, like OCA web_domain_field replaced by standard Odoo module web starting from 17.0 (with an optional explanation that could help users, like how to use this new module compared to the previous one).

Given a migration path, a module can get one of this migration status:

| Status | Description | | ------ | ----------- | | Fully Ported | All commits from source version are present in target version | | To migrate | The module doesn't exist on target version | | Ported (missing commits?) | Some commits from source version are not ported in target version (could be false-positive) | | To review | A migration PR has been detected | | Replaced | The module has been replaced by another one (not sharing the same git history) | | Moved to standard? | The module name has been detected in Odoo standard repositories for target version. High chance this module is or should be replaced by another one instead (by creating a timeline), so it mainly helps to detect such cases. | | Moved to OCA | the module name is available in an OCA repository (could be a false-positive because sharing the same name, in such case a timeline has to be created) | | Moved to generic repo | a specific module (only available in a project) in source version now exists in a generic repository (could be a false-positive if both modules have only their name in common) |

It helps to build a consolidated knowledge database accross different Odoo versions for everyone: functionals and developers.

auto_awesome What this module does

AI-generated from the code · Odoo 18.0

Track how Odoo modules move between Odoo versions: define migration paths, scan repositories, and see whether each module is fully ported, still to migrate, renamed, replaced, or moved to standard/OCA/generic code.

This module adds migration tracking on top of the Odoo repository analysis. Users define migration paths (for example 16.0 -> 18.0) in the Migration Paths menu; each path links a source branch to a target branch and can be scanned with a Scan button.

On each module branch, a Migrations tab lists the migration records with their migration status and pull request link, plus a Next Versions button to jump to the same module in later versions.

For every module and migration path, Odoo computes a status: Fully Ported, To migrate, Ported (missing commits?), To review, Replaced, Moved to standard?, Moved to OCA, or Moved to generic repo. It also detects when a module was renamed or replaced by another module, and shows the new module name.

A Timelines menu lets users declare that a module was renamed or replaced starting from a given Odoo version, with an optional note. A Collect migration data checkbox on the repository controls whether migration scans run; scans are queued as background jobs and can be triggered from the migration path, the timeline, or the repository.

Migration records store the last scanned commits on both sides and the raw scan results, and are automatically refreshed when related modules, timelines, or pull requests change.

Depends on

Required by other modules

Menus it adds

odoo_migration_path_menuodoo_module_branch_migration_menuodoo_module_branch_timeline_menu
Models and fields (5)
  • odoo.repository · extends an existing modelcollect_migration_data (Collect migration data)
  • odoo.module.branch · extends an existing modeltimeline_ids (Timeline), migration_ids (Migrations), migration_scan, next_odoo_version_module_branch_id (Next Odoo Version Module Branch)
  • odoo.migration.path · new modelname, active, source_branch_id, target_branch_id
  • odoo.module.branch.timeline · new modelnote, state, active, org_id (Organization), migration_ids (Migrations), repository_id (Repository), migration_scan, next_module_id (New module name), odoo_version_id (Starting from version), module_branch_id (Module), next_module_branch_id (New module), odoo_version_sequence, last_known_module_branch_id (Last Known Module)
  • odoo.module.branch.migration · new modelstate (Migration Status), active, org_id, pr_url (PR URL), process, results, module_id, author_ids, display_name, moved_to_oca, results_text, repository_id, maintainer_ids, migration_scan, module_branch_id (Source), moved_to_generic (Now generic), source_branch_id, target_branch_id, migration_path_id, moved_to_standard, renamed_to_module_id (Renamed to), replaced_by_module_id (Replaced by), target_module_branch_id (Target), last_source_scanned_commit, last_target_scanned_commit

Text generated by AI (DeepSeek) from reading the Odoo 18.0 code on GitHub; it may contain mistakes, so check the code before deciding. The module is very large and only part of the code was read. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 2 confirmed, 7 with no information of 9 versions.

Sources · Odoo 18.0

Confirmed on 2026-11-03 in branch 18.0 of OCA/module-composition-analysis.

terminal Installation and usage

OCA documentation · Odoo 18.0

To enable this feature, the option Collect migration data should be enabled on repositories (opt-in).

To record what a module became starting from a given Odoo version, you should do it through the Odoo Repositories / Data / Modules / Timelines menu.

Once the scheduled action ran, the migration data are available on each module in Migration tab, or through the Odoo Repositories / Data / Modules / Migrations menu.

No verified information in OCA: Installation, Configuration.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.