0

我对 Drupal 很陌生,所以如果我有任何重大误解,请不要太生气 :) 我尝试寻找类似的问题,但找不到适合我的案例的解决方案。

我们目前正在建立一个 Drupal 9 项目,该项目将有一个共享的开发环境和一个生产环境以及一个用于开发的本地实例。我希望有一种方法来同步这些实例以具有相同的配置、内容类型,甚至可以选择内容。

目前,我正在本地开发一个主题,这意味着我已经在 XAMPP 服务器中安装了一个 Drupal 实例。该主题由 git 版本控制,因此可以毫无问题地迁移到其他开发人员。

为了迁移结构和内容(显然保存在数据库中),我尝试使用Backup & Migrate,但我遇到了两个问题: D9 版本尚未完全支持,因此通过 composer 安装失败,默认安全设置,并且在尝试备份整个站点时似乎已经多次报告错误。您可以通过分别备份数据库和文件来解决它,但是由于其他问题,这非常不方便(但让我们保持简短......)。

我还尝试导出整个数据库,它实际上正在工作(在这个小修复之后),但对我来说开销似乎有点高。尤其是当我只想在没有用户、内容等的情况下将新的内容类型从 dev 复制到 prod 环境时。

那么,为了最终结束,这个案例有什么最佳实践吗?或者我什至应该考虑另辟蹊径?

提前致谢!

4

1 回答 1

0

我绝对不建议为此使用 Backup & Migrate - 这就是Drupal 7!Drupal 9 有更好的工具,这些工具已经融入核心!

跨环境导入/导出配置和内容实体的方法有很多,但我将分享我认为是当前最佳实践的方法。

对于配置,Drupal 9 有一个内置的配置管理系统,可以很容易地跨环境迁移配置。它可以在 Drupal UI 中使用,也可以与 Drush(Drupal 的命令行工具)集成。

本质上,Config 系统将所有 Config 设置导出为标准化的 YAML 文件,这些文件可以轻松地包含在您的 Git 存储库中。这将使设置另一个配置设置相同的 Drupal 环境变得异常容易。

可以在此处找到有关配置管理的更多信息。

对于Content,Drupal 9 有一个内置的 Migrate API,它有助于从任何数据源迁移到 Drupal 9 环境。这意味着您可以设置允许您跨环境迁移内容实体的迁移。

我只用它来迁移内容(从 Drupal 7 迁移),但我相信也可以使用它来迁移 Config。

如果您决定使用 Migrate API,您可能(取决于您的内容设置)需要安装Migrate ToolsMigrate Plus

可以在此处找到有关 Migrate API 的更多信息。

于 2021-02-18T16:38:32.807 回答