force=True 删站

frappe.delete_doc(force=True) 删除 demo 测试站点,跳过了 Press 的 Archive Site 流程(备份→删库→清文件→删记录)。数据库和 bench 目录残留在 m1/f1 上,子域名被占用无法重用。


1. 归属

问题答案
属于哪个仓库?不涉及源码。Frappe 框架的 delete_doc 行为
在容器内路径?无。通过 bench execute 操作
在构建链的哪一步?运维操作

2. 功能解释

Press 的正常删站流程(Archive Site):

  1. 备份站点数据库
  2. DROP DATABASE
  3. 删除 bench 目录下的站点文件
  4. 删除 Press DB 中的 Site 记录
  5. 释放子域名

force=True 跳过了什么:

跳过整个 Archive 流程。只删了 Press DB 中的记录。MariaDB 数据库还在,bench 目录还在,子域名还被占用。


5. 性质判断

操作错误。CLAUDE.md 禁止的是”手动改 DB 状态字段”,这个属于”用错了 API 参数”。


6. 正确做法

SolarFlow 部署:测试站点通过 Press UI → Archive Site 正常删除。生产永远不用 force=True。


7. 影响范围

  • MariaDB 残留数据库(_e56fcf0604db8cdd
  • 子域名被占用(demo1 无法重用)