1、工作台命令
使用基准 CLI
➜ bench
Usage: bench [OPTIONS] COMMAND [ARGS]...
Bench manager for Frappe
Options:
--version
--help Show this message and exit.
Commands:
backup Backup single site
backup-all-sites Backup all sites in current bench
config Change bench configuration
disable-production Disables production environment for the bench.
download-translations Download latest translations
exclude-app Exclude app from updating
find Finds benches recursively from location
get-app Clone an app from the internet or filesystem and...
同样,可以检查所有可用的标志和选项的命令 通过用标志单独执行它们。的命令 实例:--help
init
➜ bench init --help
Usage: bench init [OPTIONS] PATH
Initialize a new bench instance in the specified path
Options:
--python TEXT Path to Python Executable.
--ignore-exist Ignore if Bench instance exists.
--apps_path TEXT path to json files with apps to install
after init
命令
在 Click 的结构下,是主命令组,其下有 是目前工作台中的三组主要命令,即bench
常规命令
一组在其他命令中不广泛分类的命令。命令 如 、 属于此类别。这些命令 直接属于基准组,因此可以直接调用它们作为前缀 每个在你的壳里。因此,这些命令的用法为init
get-app
find
bench
➜ bench COMMAND [ARGS]...
常用
- init:在指定路径中初始化新的工作台实例。这设置 一个完整的工作台文件夹,其中包含一个包含所有 Frappe 的文件夹 当前工作台中可用的应用程序,存储所有站点数据的文件夹 由单个站点文件夹分隔,包含您的文件夹 redis、NGINX 和主管配置文件。该文件夹包含 当前工作台的所有 python 依赖项和已安装的 Frappe 应用程序有。
apps
sites
config
env
- restart:重新启动 Web、管理引擎、systemd 进程单元。用于 生产设置。
- update:如果在 bench 目录中执行,没有任何标志将备份, 拉动、设置要求、构建、运行补丁和重新启动工作台。用 特定标志只会执行某些任务,而不是全部任务。
- migrate-env:将虚拟环境迁移到所需的 Python 版本。这 使用指定的 Python 版本重新生成文件夹。
env
- retry-upgrade:重试失败的升级
- disable-production:禁用工作台的生产环境。
- renew-lets-encrypt:renew's encrypt site SSL 证书。
- backup:备份单个站点数据。也可用于备份文件。
-
backup-all-sites:备份当前工作台中的所有站点。
-
get-app:从互联网或文件系统下载应用程序并设置 你的
bench
。这将克隆 Frappe 项目的 git 存储库并将其安装在bench
环境。 - remove-app:从当前完全删除指定的 Frappe 应用程序 工作台和重建资产(如果未安装在任何站点上)。
- exclude-app:在更新期间排除应用
bench update
- include-app:包含用于更新的应用。所有弗拉佩应用程序都是 安装时默认包含。
- remote-set-url:设置应用远程网址
- remote-reset-url:将应用程序远程网址重置为冰沙官方网址
- remote-urls:向应用显示远程网址
- switch-to-branch:将所有应用切换到指定的分支,或指定应用 用空格分隔
- switch-to-develop::将 Frappe 和 ERPNext 切换到开发分支
基于高级设置
- set-nginx-port:为站点设置 NGINX 端口
- set-ssl-certificate:设置站点的 SSL 证书路径
- set-ssl-key:设置站点的SSL证书私钥路径
- set-url-root:为网站设置网址根目录
- set-mariadb-host:将MariaDB主机设置为bench
- set-redis-cache-host:为bench设置Redis缓存主机
- set-redis-queue-host:为工作台设置 Redis 队列主机
- set-redis-socketio-host:为bench设置Redis socketio主机
- use:设置工作台的默认站点
- download-translations:下载最新翻译
发展
- start:启动 Frappe 开发流程。使用Procfile启动 弗拉佩开发环境。
- src:打印工作台源文件夹路径,可用于 cd 到 工作台安装存储库由 .
cd $(bench src)
- find:从位置或指定路径递归查找长凳。
- pip:使用当前工作台的 pip 来管理 Python 包。寻求帮助 关于点子用法:或 .
bench pip help [COMMAND]
bench pip [COMMAND] -h
- new-app:在应用文件夹下创建新的 Frappe 应用程序。
释放工作台
- release:创建 Frappe 应用程序的发布
- prepare-beta-release:从开发分支准备主要测试版
设置命令
此命令组由用于操作需求和 Frappe 环境所需的环境。用于 在当前替补席的背景下设置 Frappe 环境需要 使用 作为前缀执行。所以,这些的一般用法 命令为bench setup
➜ bench setup COMMAND [ARGS]...
-
sudoers:将命令添加到 sudoers 列表以允许工作台命令 在没有 root 密码的情况下执行
-
env:为您的工作台设置Python的虚拟环境。这会在工作台目录的根目录下设置一个文件夹。
env
- redis:为 Redis 生成配置
- 字体:将 Frappe 字体添加到系统
- 配置:生成或覆盖
sites/common_site_config.json
- 备份:为工作台备份添加 cronjob
- socketio:socketio 服务器的设置节点依赖项
-
要求:设置 Python 和节点依赖项
-
经理:使用工作台设置站点 管理器应用程序,用于工作台的GUI 安装在上面。
bench-manager.local
-
procfile:为工作台启动生成 procfile
-
生产:为指定用户设置 Frappe 生产环境。 这将安装ansible,NGINX,supervisor,fail2ban并生成 相应的配置文件。
- nginx:为 NGINX 生成配置文件
- fail2ban:设置 fail2ban,一个入侵防御软件框架 保护计算机服务器免受暴力攻击
- systemd:为 systemd 生成配置
- 防火墙:为系统设置防火墙
- ssh 端口:为系统设置 SSH 端口
- reload-nginx:检查NGINX配置文件并重新加载服务
- 主管:为主管生成配置
- lets-encrypt:为站点设置 lets-encrypt SSL
-
通配符 SSL:为多租户工作台设置通配符 SSL 证书
-
添加域:将自定义域添加到特定网站
- 删除域:从网站中删除自定义域
-
同步域:检查域中是否有更改。如果是,则更新 域列表。
-
角色:通过 ansible 角色安装依赖项
配置命令
config 命令组处理在当前工作台中进行更改(不是 CLI 工具)配置。配置组命令用于操作 当前工作台上下文中的配置。这些命令的用法如下
➜ bench config COMMAND [ARGS]...
- set-common-config:使用参数 -c 在通用配置中设置值,配置 或 --配置
- 删除通用配置:从当前工作台的通用中删除特定键 配置
- update_bench_on_update:在跑步台上启用/禁用工作台更新 更新
- restart_supervisor_on_update:启用/禁用自动重启 主管流程
- restart_systemd_on_update:启用/禁用 systemd 的自动重启 单位
- dns_multitenant:在运行工作台上启用/禁用工作台多租户 更新
- serve_default_site:将nginx配置为在端口上为默认站点提供服务 80
- http_timeout:设置 HTTP 超时
安装命令
安装命令组处理用于安装系统的命令 用于设置 Frappe 环境的依赖项。这些命令的用法 是作为
bench install COMMAND [ARGS]...
- 先决条件:安装必备库、基本工具,如 b2zip, htop, screen, vim, x11-fonts, python libs, cups and Redis
- nodejs:安装 Node.js v8
- nginx:安装 NGINX。如果指定了用户,则为此设置了 sudoers 用户
- 打包器:安装Oracle virtualbox和打包程序1.2.1
- psutil:通过 pip 安装 psutil
- mariadb:安装和设置指定版本和root密码的MariaDB
- wkhtmltopdf: Installs wkhtmltopdf v0.12.3 for linux
- 主管:安装主管。如果指定了用户,则设置了 sudoers 对于该用户
- fail2ban:安装fail2ban,一个入侵防御软件框架 保护计算机服务器免受暴力攻击
- virtualbox:安装virtualbox。
一般用法
本节涵盖了 Bench CLI 的一般用法,足以让您了解 熟悉基本用法。
创建新工作台
init 命令将使用 frappe 框架创建一个 bench 目录 安装。它将设置为定期备份。
➜ bench init frappe-bench && cd frappe-bench
添加网站
Frappe应用程序由frappe网站运行,您必须至少创建一个 网站。新站点命令允许您执行此操作。
➜ bench new-site site1.local
添加应用
get-app 命令从远程 git 存储库获取远程 frappe 应用程序,并且 安装它们。示例:erpnext
➜ bench get-app erpnext https://github.com/frappe/erpnext
安装应用
要在新站点上安装应用程序,请使用 bench 命令。install-app
➜ bench --site site1.local install-app erpnext
起跑台
要开始使用工作台,请使用命令bench start
➜ bench start
要登录到Frappe / ERPNext,请打开浏览器并转到,可能[your-external-ip]:8000
localhost:8000
默认用户名为“管理员”,密码是您设置的密码 创建了新站点。
更新工作台
更新工作台目录中的所有应用和网站。此操作执行 备份、设置需求、构建辅助、运行迁移和重新启动您的 流程管理器为您服务。
➜ bench update
更新工作台配置
要更新工作台的通用站点配置,可以使用配置下的 and 命令 命令组。要了解有关可用的 Frappe 站点配置的更多信息, 查看站点配置和工作台配置文档。set-common-config
remove-common-config
要添加或更新现有的配置键,您可以运行类似
➜ bench config set-common-config -c enable_frappe_logger true
要删除现有的配置键,您可以运行类似
➜ bench config remove-common-config enable_frappe_logger
bench
经理
有关基于 UI 的部署管理方法,请查看 Bench 经理。
➜ bench setup manager
2
网站创建
在您的工作台上创建一个新网站。默认情况下,在工作台上创建的所有网站 将只在它们上安装 Frappe 框架。
bench new-site {site}
有关更多信息和示例,请参阅工作台 新网站参考。
站点备份
您可以使用工作台 CLI 在工作台的站点上进行备份。您可以 管理站点的数据库和文件备份,并更好地控制 操作。
bench --site {site} backup
工作台 CLI 还会从工作台目录中删除较旧的备份文件。由 默认情况下,它会从备份目录中删除超过 24 小时的备份。
有关更多信息和示例,请参阅工作台 备份引用。
站点还原
基准 CLI 可用于将现有站点还原到以前的状态。使用该命令,可以使用特定数据库还原站点,并且 文件还原。bench restore
bench --site {site} restore {path/to/database/file}
执行还原操作的最低要求是拥有数据库 文件,以您的本地文件系统。指定的备份文件可能具有扩展名。sql.gz
sql
有关更多信息和示例,请参阅工作台 恢复引用。
部分站点还原和备份
从版本 13 开始,Frappe 支持进行部分备份和还原 他们。可以直接使用该命令进行部分备份。如 对于部分还原,该命令可用于还原 对现有站点的部分备份。bench backup
bench partial-restore
有关更多信息和示例,请参阅工作台 部分恢复和工作台 备份引用。
网站应用管理
您可以安装或卸载工作台上可用的 Frappe 应用程序。要添加 使用结帐将应用程序应用到您的工作台上 文档。bench get-app
应用安装
在您的网站上安装 Frappe 应用程序的最简单方法是通过 bench
CLI。但是,该应用程序必须在您的工作台上安装之前 那。
bench --site {site} install-app {app}
在此操作中,应用程序 和 指定的 站点安装在指定的站点上。meta
modules
doctypes
应用卸载
卸载现场安装的应用程序。这是一种破坏性操作,包括 从网站中删除所有与应用相关的数据。因此,在之前进行备份 卸载所述应用程序。
bench --site {site} uninstall-app {app}
注意:从版本 13 开始,即使未安装在 Bench 上的应用程序也可以卸载 从网站。
有关更多信息和示例,请参阅工作台 卸载应用参考。
站点迁移
运行补丁,同步架构并重建文件,翻译和索引 特定站点。在文档中了解网站迁移的工作原理。
bench --site {site} migrate
有关更多信息和示例,请参阅工作台 迁移引用。
网站删除
删除数据库并将站点目录从 移动到工作台上的文件夹(除非另有指定)。./sites
./archived_sites
bench drop-site {site}
有关更多信息和示例,请参阅工作台 拖放站点引用。
重置站点数据
从指定站点重新安装所有已安装的应用程序。这完全 重置站点。
bench reinstall {site}
有关更多信息和示例,请参阅工作台 重新安装参考。
列出已安装的应用程序
列出指定站点上安装的所有 Frappe 应用程序。这 命令显示的信息是从已安装的应用程序 DocType 中获取的,该文档类型跟踪站点迁移到的应用程序的最新版本。 全局默认值用作回退。installed_apps
bench --site {site} list-apps
版本 13 中添加了多站点支持。查看所有摘要 站点,运行命令,站点的值为 。all
有关更多信息和示例,请参阅工作台 列表应用参考。
设置默认站点
有时,键入每个站点命令可能很乏味。你 可以通过设置环境变量来设置终端会话的默认站点。--site [sitename]
FRAPPE_SITE
~/frappe-bench
❯ export FRAPPE_SITE=mysite.localhost
~/frappe-bench
❯ echo $FRAPPE_SITE
mysite.localhost
~/frappe-bench
❯ bench console
Apps in this namespace:
frappe
In [1]: frappe.local.site
Out[1]: 'mysite.localhost'
在浏览器中访问网站
要在浏览器中访问站点,您必须记住网络服务器端口 哪个工作台正在运行,然后键入完整的 URL。有一个bench
命令 这为你做这件事。
运行以下命令将直接以默认方式打开站点 URL 浏览器。
# open site.local in the browser
$ bench --site site.local browse
# this also works
$ bench browse site.local
您也可以通过传递选项以用户身份登录。--user
$ bench --site site.local browse --user test@example.com
$ bench --site site.local browse --user Administrator
Login URL: http://site.local:8000/app?sid=<generated-sid>
请注意,此命令:
- 仅当 developer_mode 设置为 1 时,才允许以任何用户身份登录
- 无论developer_mode如何,都允许以管理员身份登录
- 仅当用户是管理员时才打印登录 URL
网站运营、调试和开发
以下是您可以通过 Bench CLI 在站点上执行的一些操作,以 更新站点状态。您可能永远不必使用其中一些,但它们存在 以防万一。
- 添加系统管理器:向站点添加新的系统管理器。
- 添加用户:将具有特定角色的新用户添加到站点。
- 添加到主机:将指定的站点添加到系统上的主机文件中。
- 构建搜索索引:为网站构建搜索索引。参考全文 搜索 API 文档以获取更多信息。
- 禁用用户:禁用现场用户。
- 发布实时:从工作台发布实时事件。
- 重新加载文档:重新加载特定文档类型的架构并刷新 指定文档
- reload-doctype:重新加载特定 DocType 的架构
- 从已安装的应用程序中删除:从站点中删除提到的应用程序 的全局值。
installed_applications
- run-patch:通过 Frappe Patch 处理程序运行特定补丁。
- 迁移到:将本地站点迁移到 Frappe 主机的命令 提供商的服务。
- ngrok:创建一个临时 URL 并与任何人共享,他们可以 在他们的浏览器中访问您的本地网站。主要为帮助 开发第三方服务。
- 设置密码:为任何用户设置密码。
- 设置管理员密码:设置管理员用户的密码。
- 为用户设置上次活动日期:将用户上次活动日期设置为当前日期时间。
- 开始录制:启动指定站点的 Frappe 录制器。
- 停止录制:终止指定站点的 Frappe 录制器。
- 使用:设置工作台上的默认站点。将网站条目添加到 .
currentsite.txt
数据库维护命令
与数据库管理和维护相关的命令集。这些 命令可以更好地控制站点的数据库。您可能需要微调 随着时间的推移,您的部署以满足站点的需求。
表转换
该命令允许您管理您的设置 站点的表。此时,您可以切换和设置 选择站点数据库上的表。transform-database
engine
row_format
bench --site {site} transform-database --tables {tables}
有关更多信息和示例,请参阅工作台 转换数据库引用。
表修整
从特定文档类型中删除的文档字段可能不会从其数据库中删除 表。这是设计使然,以防止Frappe中的数据丢失。这不会是 在大多数情况下存在问题,但是,在某些时候您可能会因此而遇到问题 挥之不去的数据。
定期修整表的一些好处是:
- 更小的备份大小
- 减少备份站点所需的时间
- 减少站点数据库的使用量
- 优化查询,以防
SELECT *
- 数据库是干净的,没有任何隐藏或冗余的数据
bench trim-tables [OPTIONS]
有关更多信息和示例,请参阅工作台 修剪表参考。
数据库修整
从列表视图中删除文档类型可能不会从中删除其相应的表 数据库。迁移有时可能会在站点数据库中留下幻影表。这 可能是为了冗余,以便在数据损坏时进行恢复 或丢失,或简单地在人为错误的情况下丢失。
bench trim-database [OPTIONS]
有关更多信息和示例,请参阅工作台 修剪数据库引用。
调度程序命令
用于管理和查看计划程序和后台作业状态的命令 您长凳上的站点。在模块 下定义。frappe.commands.schedule
- 禁用计划程序:禁用指定站点的计划程序。
- 医生:获取有关所有计划程序状态的诊断信息 站点(如果未指定)和工作台上的活跃工人。
- 启用计划程序:为指定站点启用计划程序。
- 清除作业:清除任何挂起的定期任务(如果事件选项不是) 给定,它将清除网站的所有内容。
- 准备迁移:检查特定站点是否已准备好进行迁移 通过检查是否存在任何挂起的后台作业。
- 计划程序:将任何站点的计划程序的状态从暂停、恢复、禁用或启用状态更改为暂停、恢复、禁用或启用状态。
- 设置维护模式:在配置中设置维护模式的值 对于指定的站点。
- 显示挂起的作业:获取有关后台作业的诊断信息。
- 计划:启动工作台的调度程序进程。此过程 管理文件中定义的调度程序事件。你可以找到这个 进程管理器的工作台配置中也提到了命令。
hooks.py
- 工作线程:在工作台上启动工作进程。此启动的过程将 管理在此工作台上启动的所有后台作业。
- 触发器-调度程序-事件:为 指定的站点。
弗拉普实用程序命令
Frappe 实用程序命令,可以是特定于站点或工作台的。这些命令 在模块 下定义。frappe.commands.utils
显示站点配置
为站点应用的配置将作为以下各项的组合应用 bench
目录和站点自己的.您可以在此处阅读有关此内容的更多信息。工作台提供了一个界面来查看 为您的网站应用的值。您可以选择访问此 表格或 JSON 格式的信息。common_site_config.json
site_config.json
frappe.conf
bench --site {site} show-config
有关更多信息和示例,请参阅工作台 显示配置参考。
更新站点配置
Bench 提供了一个包装器命令,用于在站点配置中插入或更新值 文件。您可以更新站点中的值,以及 bench 目录通过相同的命令。site_config.json
common_site_config.json
bench --site {site} set-config KEY VALUE
有关更多信息和示例,请参阅工作台 设置配置引用。
显示已安装应用程序的版本
该命令显示所有已安装的应用程序及其版本。version
bench version [OPTIONS]
在版本 13 中,引入了 / 选项。此选项允许 以显示有关分支和上次提交的其他信息。欲了解更多信息 信息和示例,请参阅工作台 版本参考。-f
--format
更多命令
- 添加到电子邮件队列:将电子邮件添加到电子邮件队列。
- build:为安装在工作台上的 Frappe 应用程序构建资产。
-
批量重命名:通过 CSV 文件重命名多个记录。示例文件格式(不带标头):
旧名称 新名称 合并 HR-EMP-00001 EMP0001 假 HR-EMP-00002 EMP0002 假 HR-EMP-00003 EMP0003 假 HR-EMP-00004 EMP0004 假 HR-EMP-00005 EMP0005 假 HR-EMP-00006 EMP0006 假 -
清除缓存:清除缓存、文档类型缓存和默认值。
- 清除网站缓存:清除网站缓存。
- 控制台:为站点启动 IPython 控制台。与标志一起使用可自动重新加载对代码的更改。
--autoreload
- 数据导入:使用数据导入从 CSV 或 XLSX 批量导入文档。
- 销毁所有会话:清除所有用户的会话(将其注销)。
- execute:使用给定的 and 集执行特定函数或方法。
args
kwargs
- export-csv:导出包含 DocType 数据的数据导入模板。
- 导出文档:将单个文档导出为 CSV。
- 导出夹具:将记录从站点导出到 Frappe 应用程序,作为 JSON 文件。灯具在应用的 hooks.py 文件中定义。
- export-json:将文档列表作为 json 导出到给定路径,使用“-”作为名称 对于单身人士。
- 导入 csv:使用数据导入从 CSV 文件导入。
- 导入文档:导入(插入/更新)文档列表。如果参数是 目录,导入所有以 结尾的文件
.json
- jupyter:启动 Jupyter Notebook 服务器。
- make-app:创建一个样板 Frappe 应用程序。
- 数据库控制台:启动站点的交互式数据库控制台。此命令是命令的别名:mariadb,postgres
- mariadb:启动 mysql 站点的 MySQL 交互式控制台。
- postgres:启动 postgres 站点的 PostgreSQL 交互式控制台。
- 重建全局搜索:在当前站点中设置帮助表(在 之后调用) 迁移)。
- request:以管理员身份提出请求,并对路径进行论证。
- 重置权限:将所有文档类型的权限重置为其默认值 设置。
- 运行测试:在指定站点上运行 Python 测试。
- 运行并行测试:在 CI 上并行运行 Python 测试。
- run-ui-tests:运行 Cypress UI tests。
- 服务:启动工作台的网络服务器。
- watch:在 JS 和 CSS 文件更改时观察和连接它们。