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

标签 php mysql drupal drupal-8

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

  • 使用导出的新字段等创建模块以导入到生产站点,但也有很多配置、其他表
  • 手动导出部分数据库。工作量很大!
  • 我可以在生产站点上工作,进行备份等。不喜欢它,不喜欢它,不可能;)

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

最佳答案

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

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

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

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

关于php - Drupal 8 更新/同步数据库从开发到生产,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39636749/

相关文章:

php - 从数据库查询设置变量的更好方法

mysql - ON DUPLICATE KEY UPDATE 拒绝更新

php - 更改 Drupal 网站的 settings.php 文件后是否需要重新启动 Apache?

php - Drupal 共享表,但来自另一个数据库

php - 如何一次性将动态表行数据插入数据库

php - (int) php和mysql注入(inject)

php - 在 Yii2 中上传图片和验证

mysql - 如何从 datetimepicker 接收日期并将其保存到数据库中?

mysql - STR_TO_TIME 转换

drupal - 如何将摘要行添加到 Drupal View ?