[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-ef008713-989b-498f-8776-c3956d52e0fd":3,"$fRSv7R_zaWSlp06ADd97AJcTiJNM_oQ1di9KpOgs2bdM":43},{"id":4,"title":5,"description":6,"categoryId":7,"moduleId":8,"tags":9,"prompt":10,"icon":11,"source":12,"sourceUrl":13,"authorId":14,"authorName":15,"isPublic":16,"stars":17,"runs":18,"createdAt":19,"updatedAt":19,"module":20,"category":27,"packages":34},"ef008713-989b-498f-8776-c3956d52e0fd","odoo-upgrade-advisor","分步Odoo版本升级顾问：预升级清单、社区版与企业版升级路径、OCA模块兼容性以及升级后验证。","cat_coding_review","mod_coding","sickn33,coding","---\nname: odoo-upgrade-advisor\ndescription: \"Step-by-step Odoo version upgrade advisor: pre-upgrade checklist, community vs enterprise upgrade path, OCA module compatibility, and post-upgrade validation.\"\nrisk: safe\nsource: \"self\"\n---\n\n# Odoo Upgrade Advisor\n\n## Overview\n\nUpgrading Odoo between major versions (e.g., v15 → v16 → v17) requires careful preparation, testing, and validation. This skill provides a structured pre-upgrade checklist, guides you through the upgrade tools (Odoo Upgrade Service and OpenUpgrade), and gives you a post-upgrade validation protocol.\n\n## When to Use This Skill\n\n- Planning a major Odoo version upgrade.\n- Identifying which custom modules need to be migrated.\n- Running the upgrade on a staging environment before production.\n- Validating the system after an upgrade.\n\n## How It Works\n\n1. **Activate**: Mention `@odoo-upgrade-advisor`, state your current and target version.\n2. **Plan**: Receive the full upgrade roadmap and risk assessment.\n3. **Execute**: Get a step-by-step upgrade command sequence.\n\n## Upgrade Paths\n\n| From | To | Supported? | Tool |\n|---|---|---|---|\n| v16 | v17 | ✅ Direct | Odoo Upgrade Service \u002F OpenUpgrade |\n| v15 | v16 | ✅ Direct | Odoo Upgrade Service \u002F OpenUpgrade |\n| v14 | v15 | ✅ Direct | Odoo Upgrade Service \u002F OpenUpgrade |\n| v14 | v17 | ⚠️ Multi-hop | v14→v15→v16→v17 (cannot skip) |\n| v13 or older | any | ❌ Not supported | Manual migration required |\n\n## Examples\n\n### Example 1: Pre-Upgrade Checklist\n\n```text\nBEFORE YOU START:\n  ☑ 1. List all installed modules (Settings → Technical → Modules)\n        Export to CSV and review for custom\u002FOCA modules\n  ☑ 2. Check OCA compatibility matrix for each community module\n        https:\u002F\u002Fgithub.com\u002FOCA\u002Fmaintainer-tools\u002Fwiki\u002FMigration-Status\n  ☑ 3. Take a full backup (database + filestore) — your restore point\n  ☑ 4. Clone production to a staging environment\n  ☑ 5. Run the Odoo Upgrade pre-analysis:\n        https:\u002F\u002Fupgrade.odoo.com\u002F → Upload DB → Review breaking changes report\n  ☑ 6. Review custom modules against migration notes\n        (use @odoo-migration-helper for per-module analysis)\n  ☑ 7. Upgrade and test in staging → Fix all errors → Re-test\n  ☑ 8. Schedule a production maintenance window\n  ☑ 9. Notify users of scheduled downtime\n  ☑ 10. Perform production upgrade → Validate → Go\u002FNo-Go decision\n```\n\n### Example 2: Community Upgrade with OpenUpgrade\n\n```bash\n# Clone OpenUpgrade for the TARGET version (e.g., upgrading to v17)\ngit clone https:\u002F\u002Fgithub.com\u002FOCA\u002FOpenUpgrade.git \\\n  --branch 17.0 \\\n  --single-branch \\\n  \u002Fopt\u002Fopenupgrade\n\n# Run the migration against your staging database\npython3 \u002Fopt\u002Fopenupgrade\u002Fodoo-bin \\\n  --update all \\\n  --database odoo_staging \\\n  --config \u002Fetc\u002Fodoo\u002Fodoo.conf \\\n  --stop-after-init \\\n  --load openupgrade_framework\n\n# Review the log for errors before touching production\ntail -200 \u002Fvar\u002Flog\u002Fodoo\u002Fodoo.log | grep -E \"ERROR|WARNING|Traceback\"\n```\n\n### Example 3: Post-Upgrade Validation Checklist\n\n```text\nAfter upgrading, validate these critical areas before going live:\n\nAccounting:\n  ☑ Trial Balance totals match the pre-upgrade snapshot\n  ☑ Open invoices, bills, and payments are accessible\n  ☑ Bank reconciliation can be performed on a test statement\n\nInventory:\n  ☑ Stock valuation report matches pre-upgrade (run Inventory Valuation)\n  ☑ Open Purchase Orders and Sale Orders are visible\n\nHR \u002F Payroll:\n  ☑ All employee records are intact\n  ☑ Payslips from the last 3 months are accessible and correct\n\nCustom Modules:\n  ☑ Every custom module loaded without ImportError or XML error\n  ☑ Run the critical business workflows end-to-end:\n      Create sale order → confirm → deliver → invoice → payment\n\nUsers & Security:\n  ☑ User logins work correctly\n  ☑ Access rights are preserved (spot-check 3-5 users)\n```\n\n## Best Practices\n\n- ✅ **Do:** Always upgrade on a **copy of production** (staging) first — never the live instance.\n- ✅ **Do:** Keep the old version running until the new version is **fully validated and signed off**.\n- ✅ **Do:** Check OCA's migration status page: [OCA Migration Status](https:\u002F\u002Fgithub.com\u002FOCA\u002Fmaintainer-tools\u002Fwiki\u002FMigration-Status)\n- ✅ **Do:** Use the [Odoo Upgrade Service](https:\u002F\u002Fupgrade.odoo.com\u002F) pre-analysis report to get a list of breaking changes **before writing any code**.\n- ❌ **Don't:** Skip intermediate versions — Odoo requires sequential upgrades (v14→v15→v16→v17).\n- ❌ **Don't:** Upgrade custom modules and Odoo core simultaneously — adapt Odoo core first, then fix custom modules.\n- ❌ **Don't:** Run OpenUpgrade against production directly — always test on a staging copy first.\n\n## Limitations\n\n- Covers **v14–v17** only. Versions v13 and older have a fundamentally different module structure and require manual migration.\n- **Enterprise-exclusive module changes** (e.g., `sign`, `account_accountant`) may have undocumented breaking changes not included in OpenUpgrade.\n- The **Odoo.sh** automated upgrade path has a separate workflow (managed from the Odoo.sh dashboard) not covered here.\n- OWL JavaScript component migration (legacy widget → OWL v16+) is a complex front-end topic beyond the scope of this skill.\n","","imported","https:\u002F\u002Fgithub.com\u002Fsickn33\u002Fantigravity-awesome-skills","user_system_seed","SkillOPIC",true,240,464,"2026-05-16 13:32:41",{"id":8,"name":21,"slug":22,"icon":23,"description":24,"sort":25,"createdAt":26},"编程开发","coding","mdi-code-braces","代码生成、调试、审查，提升开发效率",2,"2026-05-16 12:53:40",{"id":7,"name":28,"slug":29,"icon":30,"description":31,"moduleId":8,"sort":32,"skillCount":33,"createdAt":26},"代码审查","review","mdi-magnify-scan","代码质量分析、安全审查",4,145,[35],{"id":36,"skillId":4,"version":37,"fileName":38,"fileSize":39,"filePath":40,"fileHash":41,"manifest":42,"createdAt":19},"72d41bf4-f387-40fe-a9fe-79e4449aebea","1.0.0","odoo-upgrade-advisor.zip",2499,"uploads\u002Fskills\u002Fef008713-989b-498f-8776-c3956d52e0fd\u002Fodoo-upgrade-advisor.zip","a0650f4d327d4caa15403da8869e37a0dedbb0bb9c8ad5191fcb2c461fd3c67a","[{\"path\":\"SKILL.md\",\"isDirectory\":false,\"size\":5266}]",{"code":44,"message":45,"data":46},200,"success",{"items":47,"stats":48,"page":51},[],{"averageRating":49,"totalRatings":49,"ratingCounts":50},0,[49,49,49,49,49],{"limit":52,"offset":49,"hasMore":53,"nextOffset":52,"ratedOnly":16},15,false]