基准测试命令速查表

可打印的 Bench CLI 速查表

在此处获取最重要的 Bench CLI 命令的 A4 大小可打印速查表 [这里](/files/Bench Cheatsheet v1.1.pdf)。下载、打印并放在你的桌子上!

常规用法

  • bench --version – 显示 bench 版本

  • bench version – 显示所有应用的版本

  • bench src – 显示 bench 仓库目录

  • bench --help – 显示所有命令和帮助

  • bench [command] --help – 显示命令的帮助

  • bench init [bench-name] – 创建一个新的 bench(从主目录运行)

    • --python TEXT Python 可执行文件的路径。
    • --ignore-exist 如果 Bench 实例已存在则忽略。
    • --apps_path TEXT 初始化后要安装的应用的 json 文件路径
    • --frappe-path TEXT frappe 仓库的路径
    • --frappe-branch TEXT 克隆 frappe 的特定分支
    • --clone-from TEXT 从路径复制仓库
    • --clone-without-update 从路径复制仓库但不更新
    • --no-procfile 拉取 bench 中所有应用的更改
    • --no-backups 为 bench 中的所有站点运行迁移
    • --no-auto-update 为 bench 构建 JS 和 CSS 产物
    • --skip-redis-config-generation 如果已经指定了 common-site-config 文件,则跳过 redis 配置生成
    • --verbose 安装期间输出详细日志
  • bench --site [site-name] COMMAND – 为命令指定站点

  • bench update – 拉取 bench-repo 和所有应用的更改,应用补丁,构建 JS 和 CSS,然后进行迁移。

    • --pull 拉取 bench 中所有应用的更改
    • --patch 为 bench 中的所有站点运行迁移
    • --build 为 bench 构建 JS 和 CSS 产物
    • --bench 更新 bench
    • --requirements 更新依赖项
    • --restart-supervisor 更新后重启 supervisor 进程
    • --no-backup 更新前不进行备份
    • --reset 忽略本地更改并更新
    • --dev 在新的 bench 上启用开发者模式,并安装运行测试所需的开发者依赖项。
  • bench restart 重启所有 bench 服务

  • bench backup 创建默认站点的备份。

备份将保存到 ~/frappe-bench/sites/{your site}/private/backups/。

  • bench backup-all-sites 备份所有站点

    • --with-files 备份包含文件的站点
  • bench restore 恢复

    • --with-private-files 恢复包含私有文件的站点(tar 文件路径)
    • --with-public-files 恢复包含公共文件的站点(tar 文件路径)
  • bench migrate 运行补丁、同步架构并重建文件/翻译

    • --rebuild-website TEXT 迁移后重建网页
  • bench migrate-env [python-version] 将虚拟环境迁移到所需的 Python 版本

  • bench --site [sitename] set-admin-password [password] 将重置管理员密码

  • bench destroy-all-sessions 销毁所有会话

配置

  • bench config – 更改 bench 配置

    • auto_update [on/off] 启用/禁用 bench 自动更新
    • dns_multitenant [on/off] 启用/禁用 DNS 多租户
    • http_timeout 设置 HTTP 超时
    • restart_supervisor_on_update 启用/禁用 supervisor 自动重启
    • serve_default_site 配置 nginx 以在以下地址提供默认站点
    • update_bench_on_update 启用/禁用运行 bench 时的 bench 更新…
  • bench setup – 设置组件

    • auto-update 为 bench 自动更新添加 cronjob

    • backups 为 bench 备份添加 cronjob

    • config 覆盖或创建 config.json

    • env 为 bench 设置 virtualenv

    • nginx 为 nginx 生成配置

    • procfile 为 bench start 设置 Procfile

    • production 将 bench 设置为生产环境

    • redis 为 redis 缓存生成配置

    • socketio 为 socketio 服务器设置 node 依赖项

    • sudoers 将命令添加到 sudoers 列表以执行…

    • supervisor 为 supervisor 生成配置

    • add-domain 为站点添加自定义域名

    • firewall 设置防火墙并阻止除 22、80 和 443 之外的所有端口

    • ssh-port 更改默认 SSH 连接端口

    • requirements 更新 Python 和 Node 包

      • --node 仅更新 Node 包
      • --python 仅更新 Python 包
      • --dev 仅更新 Python 开发依赖项。
  • bench set-nginx-port [sitename] [port] – 在生产环境中设置站点的端口

开发

  • bench new-app [app-name] 创建一个新应用

  • bench get-app [repo-link] – 从 git 仓库下载应用并安装

    • --branch [branch-name] 获取应用的特定分支
  • bench install-app [app-name] 安装现有应用

  • bench remove-from-installed-apps [app-name] 从应用列表中移除应用

  • bench uninstall-app [app-name] 删除应用及与应用链接的所有内容(Bench 需要正在运行)

  • bench remove-app [app-name] 从 bench 中完全移除应用

  • bench --site [sitename] --force reinstall 使用全新数据库重新安装(注意:将清除旧数据库)

  • bench new-site [sitename] – 创建一个新站点

    • --db-name 数据库名称
    • --db-host 用于远程连接的自定义数据库主机 URL
    • --db-port 自定义数据库监听端口(例如,非默认的 3306 端口)
    • --mariadb-root-username MariaDB 的 root 用户名
    • --mariadb-root-password MariaDB 的 root 密码
    • --admin-password 新站点的管理员密码
    • --verbose 详细输出
    • --force 如果站点/数据库已存在,则强制恢复
    • --source_sql 使用 SQL 文件初始化数据库
    • --install-app 安装后安装应用`
  • bench use [site] 设置默认站点

  • bench drop-site 从磁盘和数据库中彻底删除站点

    • --root-login
    • --root-password
  • bench set-config [key] [value] 向站点的配置文件添加键值对

  • bench console 在 bench 虚拟环境中打开 IPython 控制台

    • --autoreload 自动重新加载代码更改
  • bench execute 在任何应用内执行方法。

    • 例如:bench execute frappe.utils.scheduler.enqueue_scheduler_events
  • bench --site [sitename] mariadb 打开 SQL 控制台

  • bench --site [sitename] export-fixtures [--app TEXT] 将应用钩子中定义的记录导出为 JSON 文件。

  • bench run-tests 运行测试

    • --app 应用名称
    • --doctype 要运行测试的 DocType
    • --test 特定测试
    • --module 运行包含测试的特定模块
    • --profile 在测试上运行 Python 性能分析器
  • bench disable-production 禁用生产环境

  • bench serve 在 0.0.0.0 上启动开发 Web 服务器

    • --port 在不同端口上启动 Web 服务器(默认:8000)
    • --profile 添加一个性能分析中间件,打印出具体调用了哪些后端方法、调用频率以及耗时。
    • --proxy 开发服务器可以运行在代理之后,例如 ngrok / localtunnel
    • --noreload 当文件更改时,禁用服务器的自动重启。
    • --nothreading 禁用使用线程处理并发请求。当需要多线程时(例如在 PDF 生成期间),可能导致意外行为。
    • --with-coverage 测量代码覆盖率并在 sites/ 文件夹中创建报告 coverage.xml。同时激活 --noreload 和 --nothreading。

调度器

  • bench enable-scheduler – 启用将运行计划任务的调度器
  • bench doctor – 获取有关后台工作进程的诊断信息
  • bench show-pending-jobs– 获取待处理任务
  • bench purge-jobs – 销毁所有待处理任务

数据导入

  • bench data-import – 从 .csv、.xls 或 .xlsx 导入批量数据

    • --file 文件名
    • --doctype DocType
    • --type 插入/更新