也许你们有一些好主意,如何更新 d8 数据库,从开发版本到生产版本。我现在正在学习 d8,我想知道如果我运行包含大量内容的 d8 网站,并且仍然在我的本地环境中对其进行处理会怎么样。我总是可以同步数据库,在本地环境中使用真实内容,但这是错误的......如果用户仍然修改生产站点上的内容,我就无法做到这一点。 现在只有一些想法:
- 使用导出的新字段等创建模块以导入到生产站点,但也有很多配置、其他表
- 手动导出部分数据库。工作量很大!
- 我可以在生产站点上工作,进行备份等。不喜欢它,不喜欢它,不可能;)
您有更好的想法来同步两个 D8 应用程序吗?
最佳答案
在 Drupal 8 中,大多数(如果不是全部)配置都可以导出到同步目录中。像sites/default/files/config_HASH/_sync/之类的东西取决于您的安装。但是,您可以change that to another directory 。您可以将此目录包含在 git 存储库中,并拥有良好的本地工作流程、推送到暂存和生产。我强烈建议您阅读这些有关 Drupal 配置的文章:
- https://chromatichq.com/blog/drupal-8-configuration-management-solving-configuration-conundrum
- https://www.ostraining.com/blog/drupal/config/
我还建议您使用Drush和 Drupal Console ,它会让您的生活更轻松。以下是我当前使用这些工具的工作流程的示例:
- 使用 Drupal Console 生成一个模块:
drupalgenerate:module
- 生成 Controller :
drupalgenerate:controller
- 创建配置表单:
drupalgenerate:form:config
- 启用模块:'drush en name_of_module`
- 导出配置:
drupal config:export
- 提交并插入我的更改。
- 导入配置:
drush cim -y
我会避免将数据库导出和导入作为工作流程,它可能会变得非常乏味。但是,您可以使用 Drush 轻松创建 SQL 文件并导入它们。
关于php - Drupal 8 更新/同步数据库从开发到生产,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39636749/