Drupal 8 updating/synchronize 数据库从开发到生产

Drupal 8 updating/synchronize database from dev to production

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

你有更好的同步两个 D8 应用程序的想法吗?

现在我看到有:与 Drupal 8 集成的配置 export/import 选项:

/admin/config/development/configuration

我会测试它,阅读它。现在我认为这是完美的模块!导出所有字段、配置选项,我什至可以选择 import/export。 此处提供更多信息: https://www.drupal.org/docs/8/configuration-management/managing-your-sites-configuration

在 Drupal 8 中,大多数(如果不是全部)配置都可以导出到同步目录中。类似于 sites/default/files/config_HASH/_sync/ 之类的内容,具体取决于您的安装。但是,您可以 change that to another directory。您可以将此目录包含在您的 git 存储库中,并有一个良好的本地工作流程,推送到暂存和生产。我强烈建议您阅读这些 post 关于 Drupal 配置的文章:

我还建议您使用 Drush and Drupal Console,它会让您的生活更轻松。这是我当前使用这些工具的工作流程示例:

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

我会避免将导出和导入数据库作为工作流程,它会变得非常乏味。但是,您可以使用 Drush 轻松创建 SQL 文件并导入它们。