backdrop/drush

此项目允许您使用 Drush 与 Backdrop CMS 一起使用。Drush 是用于操作内容管理系统的一个命令行工具。

1.4.1 2024-04-15 18:00 UTC

README

此项目允许您使用 Drush 8Backdrop CMS 一起使用。Drush 是用于操作内容管理系统的一个命令行工具。

此项目已过时。使用 bee 项目通过 CLI 与 Backdrop 交互是最好的方式。 如果您在 Backdrop 项目中使用 backdrop-drush 扩展,建议使用 PHP 7.4,因为 drush 8 与 PHP 8+ 有一些问题。Drush 8 也将在 Drupal 7 于 2025 年 1 月 15 日达到生命终点时停止支持。

此集成目前可以执行以下命令

  • drush dlb backdrop:下载 Backdrop CMS。
  • drush cc:清除 Backdrop 中的单个或所有缓存。
  • drush uli:生成一次性登录链接。
  • drush upwd:更新选定用户的密码。
  • drush st:检查 Backdrop 网站的状况;引导、数据库连接等。
  • drush cron:运行 hook_cron() 中的常规间隔命令。
  • drush updb:通过 Backdrop update.php 脚本运行数据库更新。
  • drush pml:显示可用的扩展列表(模块和主题)。
  • drush dl:下载和解压贡献模块、主题和布局。
  • drush en:启用一个或多个扩展(模块或主题)。同时启用依赖扩展。
  • drush dis:禁用一个或多个扩展(模块或主题)。同时禁用依赖扩展。
  • drush pmu:卸载一个或多个模块及其依赖模块。
  • drush bcex:导出 Backdrop 网站配置。
  • drush bcim:导入 Backdrop 网站配置。
  • drush bp:为开发者生成样板代码;*.info 和 *.module 文件。
  • drush sql-*:MySQL 连接命令,例如 sql-clisql-conf
  • drush scr:使用 Backdrop API 执行脚本。
  • drush ctl:列出网站上可用的内容类型。(仅适用于 backdrush >= 1.1.0)

要查看可用的 drush 命令的完整列表(并非所有这些命令都一定与 Backdrop CMS 兼容)

  • drush help

要获取有关特定命令的更多信息

  • drush help <command>

Drush 可以执行许多其他命令,但它们需要更新才能用于 Backdrop。尽管一些命令可能通过 Backdrop 的兼容层工作,但到目前为止,任何未经测试的(可能危险的)命令不允许在 Backdrop 安装中运行。

作为 Drush 的替代方案,您可能希望考虑使用专门为 Backdrop 构建的 Backdrop Console

安装

此项目要求您使用 drush 的 "8.x" 分支(https://github.com/drush-ops/drush/tree/8.x)。此扩展不兼容 drush 的较旧版本、新的 9.x 或 master 分支。

安装 Backdrop drush 扩展的方法有很多。所有这些方法都需要 drush 8.x 版本。主要两种方式是全局安装或站点本地安装。

全局安装的主要优点是安装一次 Backdrop Drush 扩展后,它就会在所有 Backdrop 网站上运行。缺点是它可能会影响 drush 在 Drupal 网站上的运行(有时会破坏一些命令)。我们尽力避免这种情况,但这种情况确实发生过。

站点本地安装的主要优点是您不会破坏 Drupal 网站或其他 Backdrop 网站。主要缺点是您需要在每个站点上安装 drush 和 backdrop drush。

使用 Lando 安装

我主要使用 Lando 进行开发,Lando 默认已经安装了 Backdrop Drush 扩展。我推荐使用 Lando 进行本地开发,因为它是一种隔离开发依赖项和工具的绝佳方式,特别适合 Backdrop 网站开发。

默认情况下,Lando 会安装 Backdrop Drush 扩展的最新稳定版本,但您也可以指向任何 git 标签或提交哈希。如果您想使用最新源代码运行 Backdrop Drush 扩展,可以使用以下示例 .lando.yml 文件。

作为站点本地安装

将 drush 正式版下载到您的 BACKDROP_ROOT (您的 Backdrop 代码所在的位置。目录结构应类似于这样

└─ $ ∴ ll
total 84
drwxrwxr-x 10 gff gff  4096 Jan 12 13:04 ./             <-- BACKDROP_ROOT
drwxrwxr-x  3 gff gff  4096 Jan 12 13:01 ../
drwxrwxr-x  9 gff gff  4096 Jan 12 13:03 core/
drwxr-xr-x 11 gff gff  4096 Jan 12 13:04 drush/         <-- Drush 8.x
-rw-rw-r--  1 gff gff   554 Jan 12 13:03 .editorconfig
drwxrwxr-x  4 gff gff  4096 Jan 12 14:16 files/
drwxrwxr-x  8 gff gff  4096 Jan 12 13:41 .git/
-rw-rw-r--  1 gff gff   257 Jan 12 13:03 .gitignore
-rw-rw-r--  1 gff gff  6017 Jan 12 13:03 .htaccess
-rwxrwxr-x  1 gff gff   578 Jan 12 13:03 index.php*
drwxrwxr-x  2 gff gff  4096 Jan 12 13:03 layouts/
drwxrwxr-x  3 gff gff  4096 Jan 12 14:21 modules/
-rw-rw-r--  1 gff gff  3978 Jan 12 13:03 README.md

然后将 Backdrop Drush 扩展添加到 BACKDROP_ROOT/drush/commands 目录。看起来可能如下

└─ $ ∴ ll
total 40
drwxr-xr-x  9 gff gff 4096 Jan 12 13:04 ./      <-- BACKDROP_ROOT/drush/commands
drwxr-xr-x 11 gff gff 4096 Jan 12 13:04 ../
drwxr-xr-x  6 gff gff 4096 Jan 12 17:36 backdrop/  <-- Backdrop Drush Extension
drwxr-xr-x  4 gff gff 4096 Jan 12 13:42 core/
drwxr-xr-x  2 gff gff 4096 Jan 12 13:04 make/
drwxr-xr-x  4 gff gff 4096 Jan 12 13:04 pm/
drwxr-xr-x  2 gff gff 4096 Jan 12 13:04 runserver/
drwxr-xr-x  2 gff gff 4096 Jan 12 13:04 sql/
drwxr-xr-x  2 gff gff 4096 Jan 12 13:04 user/
-rw-r--r--  1 gff gff 3049 Jan 12 13:04 xh.drush.inc

全局安装

如果您使用 composer 安装 drush,可以运行以下命令以要求 8.x 版本

composer global require drush/drush:8.x

要将 Drush 的 Backdrop 集成安装到项目中,请将此项目克隆或下载到任何支持 Drush 命令的位置。最常见的位置是您的用户主目录。

  • mkdir ~/.drush/commands (如果已存在,则继续。)
  • cd ~/.drush/commands -- 获取最新 head 或最新稳定版:--- 最新 HEAD:wget https://github.com/backdrop-contrib/backdrop-drush-extension/archive/1.x-0.x.zip --- 最新稳定版:https://github.com/backdrop-contrib/backdrop-drush-extension/releases/latest
  • unzip master.zip -d backdrop
  • 清除 drush 缓存 -- drush cc drush

现在切换到 Backdrop 网站的目录并尝试一个命令!drush cron 很好。

用法

像使用 Drupal 网站一样使用 Drush。

许可

本项目是 GPL v2 软件。请参阅此目录中的 LICENSE.txt 文件以获取完整文本。

维护者

致谢

感谢所有 Drush 维护者对他们的项目所作的贡献,特别是

他们帮助使 Drush 对于 Backdrop 成为可能。

Drush Logo

发布版本

我们使用 release-it 来管理发布。当您准备发布时

node_modules/.bin/release-it
  • 注意:您需要在环境中设置您的 GITHUB_TOKEN,以便在 GitHub 上推送和创建发布。