SuperAPI AI 工具集

odoo_upgrade_skill

编程与开发

查看项目

更新于 10-16 09:47

技能介绍

用途:为 Odoo 模块跨版本升级提供结构化、分步骤的严格流程,覆盖迁移、重构与问题解决。

主要能力与流程:按模块逐个执行。步骤1更新 manifest.py 中版本为 [target_ver].1.0.0 并原子提交;步骤2用 odev upgrade-code -V [target_ver] <db> --from [from_ver] --to [target_ver] --glob "<module_name>/**" 迁移 XML 视图并单独提交;步骤3进行 Python、安全与功能重实现,先静态校验(ruff check path/to/file.py --select E999,F821,F822,F405;xmllint --noout path/to/file.xml),再用 odev run -V [target_ver] <db> -i <module_name> --stop-after-init 验证,日志只提取相关部分(如 grep -A 10 -B 10 "Traceback" 或 tail -n 20)。若涉及模型变更,评估生产数据影响,必要时用 odoo_upgrade_utils 创建 pre-migrate.py 或 post-migrate.py。遇到报错用 git log -S、git log -L 或 grep 在目标源码中定位引入破坏性变更的 Commit Hash,修复后单独提交。

重要规则:若某功能、方法、字段、模型在目标版本被移除或弃用且仍在使用,不得直接删除或禁用,必须尝试重新实现或寻找等效的目标 API 机制以保留业务逻辑。

步骤4在 TASKS.md 标记完成并更新 UPGRADE.md;步骤5为强制最终验证,必须用 odev create -f -V [target_ver] <test_db> -i base 建全新库,再运行 odev test -V [target_ver] <test_db> -i <module_name>,失败需在干净新库重来;步骤6所有模块通过后,用 git log --grep="[UPG]" --reverse 复查历史,按 | Title | Explanation | Odoo Commit Hash | 格式更新知识库。

提交规范:一次提交只对应一个离散修复,禁止大规模提交,格式为 [UPG][[task_id]] module_name: 简述,正文需附可点击的 Odoo Commit SHA、PR 或核心路径来源。限制:资料未提供具体支持的 Odoo 版本范围、环境依赖与安装方式。