Odoo Repository Migration Data
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.0Track 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
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-03Confirmation 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.0Usage
Source · Odoo 18.0To 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.
Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
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.