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

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

【问题讨论】:

    标签: drupal drupal-8 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】:

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

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

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

      【讨论】:

        猜你喜欢
        • 2021-02-22
        • 2015-12-27
        • 2012-10-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-12-28
        相关资源
        最近更新 更多