执行bench new-site创建Frappe站点失败,遇MariaDB版本误报及语法错误
解决Frappe创建站点时的版本误报与迁移语法错误
修复MariaDB版本检测误判
Frappe的版本检测脚本误将你的10.10.2版本识别为8.0,导致不兼容警告,可通过以下方式解决:
- 执行创建站点命令时明确指定数据库版本:
bench new-site library.test --db-type mariadb --db-version 10.10 - 若上述方法无效,直接修改Frappe的版本检测逻辑:找到
frappe/database/mariadb/database.py文件,调整版本判断的条件,将10.10版本纳入支持范围。
解决Access Log迁移的SQL语法错误
SQL语句末尾的None是Frappe生成序列时的参数错误,通常修复版本检测后即可解决。若仍出现问题:
- 手动在目标数据库中创建序列:
- 登录MariaDB,切换到站点对应的数据库(默认名为
library_test):USE library_test; - 执行正确的序列创建语句:
create sequence if not exists access_log_id_seq nocache nocycle; - 重新执行迁移命令:
bench migrate
- 登录MariaDB,切换到站点对应的数据库(默认名为
- 也可修改Access Log对应的迁移脚本,去掉语句末尾的
None后再执行迁移。
额外排查步骤
- 确保bench和Frappe为最新稳定版,执行
bench update完成更新,新版本可能已修复相关bug。 - 检查系统环境变量,确认无强制指定错误数据库版本的配置项。
内容的提问来源于stack exchange,提问作者ketan pradhan
相关产品推荐
相关产品推荐

