Drupal 8更新/同步数据库从开发到生产


Drupal 8 updating/synchronize database from dev to production

也许你们有一些好主意,如何更新d8数据库,从开发版本到生产。我现在正在学习d8,我想知道如果我运行d8网站,有很多内容,并且仍然在我的本地环境中工作。我总是可以同步数据库,在我的本地环境中使用真实的内容,但这是错误的…如果用户仍然在生产站点上修改内容,我就无法做到这一点。现在只有几个想法:

  • 创建带有导出的新字段等的模块,以便在生产现场导入,但也有很多配置,其他表
  • 手动导出部分数据库。很多工作!
  • 我可以在生产现场工作,做备份等。不喜欢它,不喜欢它,不可能;)
你有更好的主意来同步两个D8应用程序吗?

在Drupal 8中,大部分(如果不是全部的话)配置都可以导出到sync目录中。比如sites/default/files/config_HASH/_sync/,这取决于你的安装。但是,您可以将其更改为另一个目录。您可以将此目录包含在git repo中,并拥有一个良好的本地工作、推送到登台和生产的工作流。我强烈建议你阅读这些关于Drupal配置的文章:

  • https://chromatichq.com/blog/drupal-8-configuration-management-solving-configuration-conundrum
  • https://www.ostraining.com/blog/drupal/config/

我还建议你使用Drush和Drupal控制台,它会让你的生活更轻松。以下是我当前使用这些工具的工作流程示例:

    与Drupal控制台我生成一个模块:drupal generate:module
  1. 生成控制器:drupal generate:controller
  2. 创建配置表:drupal generate:form:config
  3. 启用模块:'drush en name_of_module '
  4. Export Configuration: drupal config:export
  5. 提交和推送我的更改。
  6. 导入配置:drush cim -y

我会避免导出和导入数据库作为一个工作流,它会变得非常繁琐。但是,您可以使用rush轻松地创建SQL文件并导入它们。

现在我看到有:配置导出/导入选项与Drupal 8集成:

/管理/配置/开发/配置

我将测试它,阅读它。现在我看到这是完美的模块!导出所有字段,配置选项,我甚至可以选择什么导入/导出。更多资料请参阅:https://www.drupal.org/docs/8/configuration-management/managing-your-sites-configuration