force=True 删站
用
frappe.delete_doc(force=True)删除 demo 测试站点,跳过了 Press 的 Archive Site 流程(备份→删库→清文件→删记录)。数据库和 bench 目录残留在 m1/f1 上,子域名被占用无法重用。
1. 归属
| 问题 | 答案 |
|---|---|
| 属于哪个仓库? | 不涉及源码。Frappe 框架的 delete_doc 行为 |
| 在容器内路径? | 无。通过 bench execute 操作 |
| 在构建链的哪一步? | 运维操作 |
2. 功能解释
Press 的正常删站流程(Archive Site):
- 备份站点数据库
- DROP DATABASE
- 删除 bench 目录下的站点文件
- 删除 Press DB 中的 Site 记录
- 释放子域名
force=True 跳过了什么:
跳过整个 Archive 流程。只删了 Press DB 中的记录。MariaDB 数据库还在,bench 目录还在,子域名还被占用。
5. 性质判断
操作错误。CLAUDE.md 禁止的是”手动改 DB 状态字段”,这个属于”用错了 API 参数”。
6. 正确做法
SolarFlow 部署:测试站点通过 Press UI → Archive Site 正常删除。生产永远不用 force=True。
7. 影响范围
- MariaDB 残留数据库(
_e56fcf0604db8cdd) - 子域名被占用(demo1 无法重用)