SuperAPI AI 工具集

odoo-migration

编程与开发

查看项目

更新于 10-16 00:06

技能介绍

用途:该技能面向 OCA 模块的跨 Odoo 大版本迁移,指导从源版本向目标版本移植 addons,并准备 [MIG] 拉取请求。它声明自己不是 OpenUpgrade 技能,不应套用 OpenUpgrade 的操作模型、命令或工作流;但查阅 OpenUpgrade 的 upgrade_analysis.txt 以了解核心模块数据模型变化,属于 OCA 协议的一部分。

起步需识别:源 Odoo 版本、目标 Odoo 版本(目标分支可用时含 Odoo 20.0)、OCA 仓库名、模块路径与名称、当前分支与远程、是否已知对应的 OCA 迁移 issue 或 PR 上下文。若需要 Odoo 框架源码或本地开发环境且不在工作区内,需请用户按需设置 ODOO_SOURCE=/path/to/odoo、ODOO_BASE_COMMAND="..."、ODOO_TOOL_README=/path/to/README.md。

工作流:以 OCA-MODULE-MIGRATION.md 作为端到端指南;跨多个大版本时必须应用每个中间版本的检查清单(如 15.0 到 18.0 需 16.0、17.0、18.0 章节)。创建迁移分支前,需确认 OCA 仓库已提供目标分支且相关迁移 issue 或 PR 上下文已知。OCA 协议以序言开始:刷新 OCA 规范、订阅项目邮件列表、在 Migration to version <target> issue 上公告模块、安装 pre-commit。迁移并未在最终提交处结束,需推送到贡献者 fork 并以 [<target>][MIG] <module>: Migration to <target> 标题打开 PR。

护栏:迁移兼容性改动与行为改动尽量分开;不改版权年份;不改原作者;无仓库先例时不臆造迁移脚本风格;在从仓库文档、$ODOO_TOOL_README 或 $ODOO_BASE_COMMAND 发现并确认可能命令前,不运行 Odoo 安装/更新/测试命令;未经用户明确同意不运行 git filter-branch 或 git filter-repo,即使模块重命名使其合理;未经明确确认不添加远程、推送分支、发表迁移 issue 评论或打开 PR;除 OCA 文档记录的首个机械格式化提交外不使用 --no-verify,且需先向用户确认该例外。若模块含需保留视觉输出的 QWeb/PDF 报告,可与 odoo-report-migration 组合使用。资料未提供具体安装命令、收费或价格信息。