如何在 Drupal 8 中使用 Drush 命令创建新的内容类型

Posted

技术标签:

【中文标题】如何在 Drupal 8 中使用 Drush 命令创建新的内容类型【英文标题】:How to create new content types using Drush commands in Drupal 8 【发布时间】:2022-01-09 13:00:20 【问题描述】:

我知道导出和导入选项可用,但我有 5 个环境,所以每次在开发环境上实施新事物后,我不想在其他环境上进行导出和导入,而是使用管道我将执行drush 命令通过执行所需的 Drush 命令在其他环境上实现所需的更改。

【问题讨论】:

【参考方案1】:

问题在于,在 Drupal 上,配置导入/导出是最好的方法。 配置导出不仅导出内容类型配置,还导出整个网站配置。

所以这些命令可以帮助你在环境之间保持独立。

如果您的问题是在环境之间覆盖某些配置值,Config Split 模块可以为您提供帮助。

【讨论】:

嗨 Sharklalu,我正在尝试使用 Dev Env 中存在的所有功能和数据从头开始构建另一个 Env 是否可以通过使用配置拆分来实现? 配置 splid 模块不会导出或导入数据值。让我们看看drupal.org/project/content_synchronizer 模块或使用数据库转储+文件夹【参考方案2】:

如果没有配置导入,我会通过安装一个您自己的模块来解决它,该模块运行您的特殊代码

步骤:

创建一个模块 my_custom_contenttype 制作一个hook_install() (my_custom_contenttype_install()) 运行这个 drush 命令(之前卸载,如果要重新安装 - 执行多次):
drush pm:uninstall my_custom_contenttype; drush pm:enable my_custom_contenttype;
function my_custom_contenttype_install()
// Add content type if it not exist
;

【讨论】:

【参考方案3】:

您可以使用手动管理的配置来执行此操作。通过:

    创建自定义模块并将您的配置包含在 custom_module/config/install 中,并使用“drush en”安装模块 或 通过使用现有的自定义模块并使用 post_update 挂钩来安装配置。

我们在许多站点上执行此操作,并且加载和安装配置只是足够复杂,我们构建了一个辅助模块来执行此操作。您可以使用 composer 拉入这个模块并使用更新挂钩来激活它,或者您可以查看 installConfig 函数 here 并将其用作模板。 (该模块也有一个有用的自述文件)。

【讨论】:

以上是关于如何在 Drupal 8 中使用 Drush 命令创建新的内容类型的主要内容,如果未能解决你的问题,请参考以下文章

如何在 ddev Drupal 8 配方中恢复 drush 版本?

drupal 8 如何安装 drush 9

在 Drupal 7 中更改主题的 drush 命令是啥?

是否可以使用 Drush 更改用户的 Drupal 密码?

sh drush drupal 8

sh drush命令用drupal运行php