用途:指导 Frappe/ERPNext 在 v14、v15、v16 之间进行大版本升级,处理迁移失败并规划回滚。
主要能力:提供升级命令速查(如 bench update、bench switch-to-branch version-15 frappe erpnext、bench --site mysite migrate、bench --site mysite ready-for-migration、bench --site mysite backup、bench --site mysite restore /path/to/backup.sql.gz);给出升级策略决策树(小版本直接 bench update,跨大版本逐个升级,生产环境先在 staging 克隆测试);列出升级前检查清单(完整备份、staging 测试、检查破坏性变更、审计自定义应用、检查 Python/Node 版本、禁用调度器、检查待处理任务、阅读发布说明)。
版本要求与破坏性变更:v15 需 Node 18+,v16 需 Node 24+、Python 3.14+;v14→v15 涉及 Vue 2 升 Vue 3、setup.py 改 pyproject.toml、db.set() 等 API 移除、Server Scripts 默认禁用等;v15→v16 涉及默认排序改为 creation、has_permission 钩子必须显式返回 True、部分模块拆分独立安装等。
补丁与回滚:说明 patches.txt 的 [pre_model_sync]/[post_model_sync] 格式、补丁仅执行一次及通过日期后缀重跑、卡住补丁的排查方法;回滚需停止进程、恢复数据库与文件、切回旧分支、重装依赖并重新构建,且恢复后不可再运行 migrate。
定制迁移:区分 Frappe Packages(UI 构建,用于自定义 DocType 等)、Fixtures(CLI 导出,用于 Custom Field、Property Setter、DocPerm)与 Frappe App 的适用场景。
限制:资料未提供具体收费、价格、平台支持范围与效果保证;实际升级结果取决于站点规模、自定义应用与数据情况,需自行在 staging 验证。