Bench更新后ERPNext出现onboarding_status列缺失错误求助
解决ERPNext更新后
Unknown column 'onboarding_status'错误 问题根源
该错误是由于数据库中缺少onboarding_status字段,通常是迁移脚本执行中断、自定义修改与官方更新冲突,或bench update --reset重置后未完成完整迁移导致的。
修复步骤
1. 停止服务避免冲突
先停止Bench相关服务:
bench stop
2. 手动添加缺失字段
首先进入目标站点的MariaDB数据库(替换your-site-name为实际站点名称):
bench --site your-site-name mariadb
在数据库命令行中,先检查tabUser表是否存在该字段:
DESCRIBE tabUser;
如果未找到onboarding_status字段,执行以下命令添加:
ALTER TABLE tabUser ADD COLUMN onboarding_status VARCHAR(100) DEFAULT 'Not Started';
执行完成后输入exit退出数据库。
3. 强制重新执行迁移
强制重新运行站点迁移脚本,确保所有未完成的迁移执行完毕:
bench --site your-site-name migrate --force
4. 清理缓存并重启服务
bench clear-cache bench clear-website-cache bench restart
5. 排查自定义应用冲突
如果上述步骤无效,检查是否存在自定义应用与官方版本冲突:
- 列出所有已安装应用:
bench list-apps - 临时禁用非官方自定义应用(替换
custom-app-name为实际应用名):bench --site your-site-name disable-app custom-app-name - 再次执行迁移和重启操作,验证问题是否解决。
6. 最终权限校验
确保Frappe用户拥有Bench目录和数据库的正确权限:
sudo chown -R frappe:frappe /home/frappe/frappe-bench sudo chmod -R 755 /home/frappe/frappe-bench
内容的提问来源于stack exchange,提问作者G2R
相关产品推荐
相关产品推荐

