| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/module-composition-analysis |
| GIT | |
| GIT | https://github.com/OCA/module-composition-analysis.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/module-composition-analysis/tree/18.0/odoo_project_migration |
| VERSION | |
| VERSION | 1.1.0 |
| CATEGORY | |
| CATEGORY | Tools |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Camptocamp |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Camptocamp |
| COMMITTERS | |
| COMMITTERS | Sébastien Alix, Weblate, OCA-git-bot, oca-ci |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/module-composition-analysis |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:30:20 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/connector: - component OCA/module-composition-analysis: - odoo_project - odoo_repository - odoo_repository_migration OCA/queue: - queue_job OCA/server-tools: - base_time_window odoo/odoo: - base_sparse_field - base - base_setup - web - bus - web_tour - html_editor |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
gitpython odoo-addons-parser pyyaml requests cachetools oca-port |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | This module integrates the migration data collected by `odoo_repository_migration` module in your Odoo projects. It allows to generate migration reports, giving some hints about the effort to provide to migrate the project to a newer Odoo version. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
odoo_module_branch_migration_view_form |
odoo.module.branch.migration.form.inherit | odoo.module.branch.migration | div | Inherits odoo_repository_migration.odoo_module_branch_migration_view_form |
odoo_module_branch_migration_view_search |
odoo.module.branch.migration.search.inherit | odoo.module.branch.migration | field | Inherits odoo_repository_migration.odoo_module_branch_migration_view_search |
odoo_module_branch_migration_view_tree |
odoo.module.branch.migration.list.inherit | odoo.module.branch.migration | field | Inherits odoo_repository_migration.odoo_module_branch_migration_view_tree |
odoo_module_branch_timeline_view_form |
odoo.module.branch.timeline.form.inherit | odoo.module.branch.timeline | div | Inherits odoo_repository_migration.odoo_module_branch_timeline_view_form |
odoo_project_export_migration_report_view_form |
odoo.project.export.migration.report.form | odoo.project.export.migration.report | form | New |
odoo_project_generate_migration_data_view_form |
odoo.project.generate.migration.data.form | odoo.project.generate.migration.data | form | New |
odoo_project_module_migration_view_form |
odoo.project.module.migration.form | odoo.project.module.migration | form | New |
odoo_project_module_migration_view_search |
odoo.project.module.migration.search | odoo.project.module.migration | field | Inherits odoo_repository.odoo_module_branch_view_search |
odoo_project_module_migration_view_tree |
odoo.project.module.migration.list | odoo.project.module.migration | list | New |
odoo_project_view_form |
odoo.project.form.inherit | odoo.project | header | Inherits odoo_project.odoo_project_view_form |
No new fields.
Public methods (0)No public methods.
odoo_project_ids
Many2many
related='module_branch_id.odoo_project_ids'
odoo_project_module_migration_ids
One2many → odoo.project.module.migration
comodel_name='odoo.project.module.migration'
inverse_name='module_migration_id'
string='Project Migrations'
open_project_migrations(self)
project_migration_ids
Many2many → odoo.project.module.migration
comodel_name='odoo.project.module.migration'
compute='_compute_project_migration_ids'
string='Project Migrations'
create(self, vals_list)
open_project_migrations(self)
unlink(self)
write(self, vals)
migrations_count
Integer
compute='_compute_migrations_count'
module_migration_ids
One2many → odoo.project.module.migration
comodel_name='odoo.project.module.migration'
inverse_name='odoo_project_id'
string='Migration Data'
open_export_migration_report(self)
open_generate_migration_data(self)
open_migration_data(self)
available_migration_path_ids
One2many → odoo.migration.path
comodel_name='odoo.migration.path'
compute='_compute_available_migration_path_ids'
string='Available Migration Paths'
migration_path_id
Many2one → odoo.migration.path
comodel_name='odoo.migration.path'
required=True
string='Migration Path'
odoo_project_id
Many2one → odoo.project
comodel_name='odoo.project'
required=True
string='Project'
odoo_version_id
Many2one
related='odoo_project_id.odoo_version_id'
action_export_report(self)
migration_path_id
Many2one → odoo.migration.path
comodel_name='odoo.migration.path'
required=True
string='Migration Path'
odoo_project_id
Many2one → odoo.project
comodel_name='odoo.project'
required=True
string='Project'
odoo_version_id
Many2one
related='odoo_project_id.odoo_version_id'
action_generate_data(self)
No new fields.
Public methods (1)open_next_module_branches(self)
migration_path_id
Many2one → odoo.migration.path
comodel_name='odoo.migration.path'
index=True
ondelete='restrict'
readonly=True
required=True
string='Migration Path'
migration_script_ids
One2many → odoo.module.branch.version
comodel_name='odoo.module.branch.version'
compute='_compute_migration_script_ids'
help='Migration scripts available between the installed version and the last version available on the target branch.\nOnes that rework the database schema or data could be mandatory.'
string='Migration Scripts'
module_id
Many2one
index=True
related='source_module_branch_id.module_id'
store=True
module_migration_id
Many2one → odoo.module.branch.migration
comodel_name='odoo.module.branch.migration'
compute='_compute_module_migration_id'
index=True
ondelete='restrict'
store=True
string='Migration'
odoo_project_id
Many2one → odoo.project
comodel_name='odoo.project'
index=True
ondelete='cascade'
readonly=True
required=True
string='Project'
pr_url
Char
related='module_migration_id.pr_url'
project_module_id
Many2one → odoo.project.module
comodel_name='odoo.project.module'
compute='_compute_project_module_id'
help='Version of the module installed in the project.'
index=True
ondelete='cascade'
store=True
string='Installed Module'
renamed_to_module_id
Many2one → odoo.module
comodel_name='odoo.module'
compute='_compute_renamed_to_module_id'
index=True
store=True
string='Renamed to'
replaced_by_module_id
Many2one → odoo.module
comodel_name='odoo.module'
compute='_compute_replaced_by_module_id'
index=True
store=True
string='Replaced by'
results_text
Text
related='module_migration_id.results_text'
source_module_branch_id
Many2one → odoo.module.branch
comodel_name='odoo.module.branch'
index=True
ondelete='restrict'
readonly=True
required=True
string='Source'
state
Selection
compute='_compute_state'
index=True
selection=[('fully_ported', 'Fully Ported'), ('migrate', 'To migrate'), ('port_commits', 'Ported (missing commits?)'), ('review_migration', 'To review'), ('replaced', 'Replaced'), ('moved_to_standard', 'Moved to standard?'), ('moved_to_oca', 'Moved to OCA'), ('moved_to_generic', 'Moved to generic repo'), ('available', 'Available'), ('removed', 'Removed')]
store=True
string='Migration status'
target_module_branch_id
Many2one → odoo.module.branch
comodel_name='odoo.module.branch'
compute='_compute_target_module_branch_id'
index=True
ondelete='restrict'
store=True
string='Target'
force_update(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/module-composition-analysis |
| GIT | |
| GIT | https://github.com/OCA/module-composition-analysis.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/module-composition-analysis/tree/16.0/odoo_project_migration |
| VERSION | |
| VERSION | 1.1.2 |
| CATEGORY | |
| CATEGORY | Tools |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Camptocamp |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Camptocamp |
| COMMITTERS | |
| COMMITTERS | GitHub, Sébastien Alix, Weblate, OCA-git-bot, hparfr, oca-ci |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/module-composition-analysis |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:12:08 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/connector: - component OCA/module-composition-analysis: - odoo_project - odoo_repository - odoo_repository_migration OCA/queue: - queue_job OCA/server-tools: - base_time_window odoo/odoo: - base_sparse_field - base - base_setup - web - bus - web_tour |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
gitpython odoo-addons-parser pyyaml requests cachetools oca-port |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | This module integrates the migration data collected by `odoo_repository_migration` module in your Odoo projects. It allows to generate migration reports, giving some hints about the effort to provide to migrate the project to a newer Odoo version. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
odoo_module_branch_migration_view_form |
odoo.module.branch.migration.form.inherit | odoo.module.branch.migration | group | Inherits odoo_repository_migration.odoo_module_branch_migration_view_form |
odoo_module_branch_migration_view_search |
odoo.module.branch.migration.search.inherit | odoo.module.branch.migration | field | Inherits odoo_repository_migration.odoo_module_branch_migration_view_search |
odoo_module_branch_migration_view_tree |
odoo.module.branch.migration.tree.inherit | odoo.module.branch.migration | field | Inherits odoo_repository_migration.odoo_module_branch_migration_view_tree |
odoo_project_export_migration_report_view_form |
odoo.project.export.migration.report.form | odoo.project.export.migration.report | form | New |
odoo_project_generate_migration_data_view_form |
odoo.project.generate.migration.data.form | odoo.project.generate.migration.data | form | New |
odoo_project_module_migration_view_form |
odoo.project.module.migration.form | odoo.project.module.migration | form | New |
odoo_project_module_migration_view_search |
odoo.project.module.migration.search | odoo.project.module.migration | field | Inherits odoo_repository.odoo_module_branch_view_search |
odoo_project_module_migration_view_tree |
odoo.project.module.migration.tree | odoo.project.module.migration | tree | New |
odoo_project_view_form |
odoo.project.form.inherit | odoo.project | header | Inherits odoo_project.odoo_project_view_form |
odoo_project_ids
Many2many
related='module_branch_id.odoo_project_ids'
No public methods.
migrations_count
Integer
compute='_compute_migrations_count'
module_migration_ids
One2many → odoo.project.module.migration
comodel_name='odoo.project.module.migration'
inverse_name='odoo_project_id'
string='Migration Data'
open_export_migration_report(self)
open_generate_migration_data(self)
open_migration_data(self)
available_migration_path_ids
One2many → odoo.migration.path
comodel_name='odoo.migration.path'
compute='_compute_available_migration_path_ids'
string='Available Migration Paths'
migration_path_id
Many2one → odoo.migration.path
comodel_name='odoo.migration.path'
required=True
string='Migration Path'
odoo_project_id
Many2one → odoo.project
comodel_name='odoo.project'
required=True
string='Project'
odoo_version_id
Many2one
related='odoo_project_id.odoo_version_id'
action_export_report(self)
migration_path_id
Many2one → odoo.migration.path
comodel_name='odoo.migration.path'
required=True
string='Migration Path'
odoo_project_id
Many2one → odoo.project
comodel_name='odoo.project'
required=True
string='Project'
odoo_version_id
Many2one
related='odoo_project_id.odoo_version_id'
action_generate_data(self)
No new fields.
Public methods (1)open_next_module_branches(self)
migration_path_id
Many2one → odoo.migration.path
comodel_name='odoo.migration.path'
index=True
ondelete='restrict'
readonly=True
required=True
string='Migration Path'
migration_script_ids
One2many → odoo.module.branch.version
comodel_name='odoo.module.branch.version'
compute='_compute_migration_script_ids'
help='Migration scripts available between the installed version and the last version available on the target branch.\nOnes that rework the database schema or data could be mandatory.'
string='Migration Scripts'
module_id
Many2one
index=True
related='source_module_branch_id.module_id'
store=True
module_migration_id
Many2one → odoo.module.branch.migration
comodel_name='odoo.module.branch.migration'
compute='_compute_module_migration_id'
index=True
ondelete='restrict'
store=True
string='Migration'
odoo_project_id
Many2one → odoo.project
comodel_name='odoo.project'
index=True
ondelete='cascade'
readonly=True
required=True
string='Project'
pr_url
Char
related='module_migration_id.pr_url'
project_module_id
Many2one → odoo.project.module
comodel_name='odoo.project.module'
compute='_compute_project_module_id'
help='Version of the module installed in the project.'
index=True
ondelete='cascade'
store=True
string='Installed Module'
results_text
Text
related='module_migration_id.results_text'
source_module_branch_id
Many2one → odoo.module.branch
comodel_name='odoo.module.branch'
index=True
ondelete='restrict'
readonly=True
required=True
string='Source'
state
Selection
compute='_compute_state'
index=True
selection=[('fully_ported', 'Fully Ported'), ('migrate', 'To migrate'), ('port_commits', 'Ported (missing commits?)'), ('review_migration', 'To review'), ('replaced', 'Replaced'), ('moved_to_standard', 'Moved to standard?'), ('moved_to_oca', 'Moved to OCA'), ('moved_to_generic', 'Moved to generic repo'), ('available', 'Available'), ('removed', 'Removed')]
store=True
string='Migration status'
target_module_branch_id
Many2one → odoo.module.branch
comodel_name='odoo.module.branch'
compute='_compute_target_module_branch_id'
index=True
ondelete='restrict'
store=True
string='Target'
No public methods.