在项目生命周期的各个点迁移站点配置的问题
嗨
我和我的团队已经开始为我们公司使用Drupal 8的最新版本(8.5.6版)的一个新项目。
我们希望使用配置迁移,以便将配置更改从一个开发人员无缝地传递到另一个开发人员之间,并跨到暂存和生产环境。
我们正在测试迁移工作流,遇到了一个问题。
我开始了这个项目,做了一个标准的Drupal 8安装。然后我做了一个迁移导出(drupal ce),将其提交给存储库。
我的同事也开始安装Drupal,这也是一个标准安装、composer install、drush cr等,然后调出最新的更改,运行drupal ci并遇到了一个错误,即:
[ERROR] An error occurred while trying to write the config file: "Entities exist of type <em
class="placeholder">Shortcut link</em> and <em class="placeholder">Shortcut set</em> <em
class="placeholder">Default</em>. These entities need to be deleted before importing."在此之前,我们还有另外一个问题,Drupal抱怨UUID不匹配。我们通过更新他的UUID来解决这个问题,如下所示:
收到的错误:
[ERROR] An error occurred while trying to write the config file: "Site UUID in source storage does not match the target storage.固定于:
drush config-set "system.site" uuid "42e3c541-5ebc-4ec9-a8f0-e8c6ad1ccfb7以上UUID是从我的安装中获得的。
因此,现在我们将看到上面解释的第一个错误。
我们试着手动删除快捷方式,就像互联网上的几个地方建议的那样,但这导致了他的系统完全崩溃。
我还认为,他不应该在工作开始时做一个干净的、标准的安装,而应该使用我最初安装的快照,当我们将应用程序移到暂存和/或开发时,它也会效仿我们使用备份来确保DB在UUID方面是同步的,但我不相信这是正确的方法。
因此,我们对推荐的迁移工作流有点不了解,因为我们也将使用该工作流投入生产,例如,在启动后,我们希望使用配置迁移导出/导入来应用本地所做的更改。
发布于 2018-08-08 18:26:02
我的同事也开始安装Drupal,也安装了标准安装、composer安装、drush cr等,然后进行了最新的更改,运行了drupal ci并遇到了一个错误,即:
别干那事。配置导入/导出意味着用于同一站点。这正是站点UUID检查存在的原因,也就是告诉您您想要做的事情不起作用。
要么您需要同步数据库,要么您需要使用像https://www.drupal.org/project/config_安装程序这样的东西来根据现有的一组配置进行安装。
通常的过程是内容和配置流向相反的方向。您有创建新内容的生产站点,您不时希望将整个DB同步到您的暂存/开发,然后在本地创建配置更改,然后部署到dev/暂存/生产中。
例如,也可以参见像https://events.drupal.org/vienna2017/sessions/advanced-configuration-management-config-split-et-al这样的演示文稿。
https://drupal.stackexchange.com/questions/267159
复制相似问题