首页 > 解决方案 > 如何处理不同环境下的数据库备份和恢复?

问题描述

我在产品和多个非产品环境中使用 Directus。在 prod 中,用户只会更新集合中的内容。在非 prod 中,管理员将测试有关新集合、用户角色、权限等的所有其他更新。我计划备份与 prod 中的集合内容相关的表并将它们恢复到较低的环境,以使数据保持最新。一旦在非 prod 环境中完成了对新集合或其他管理更改的测试,我计划备份它们,然后将与这些更改相关的表恢复到 prod。目前,计划是使用 mysqldump 和 mysqlimport 编写 shell 脚本来执行这些操作。

我的问题是我需要在 prod 中备份哪些与集合内容相关的表并转移到较低的环境?另外,我可以使用此处描述的方法不覆盖任何活动记录并避免丢失数据吗?

标签: directus

解决方案


关键任务表将是:

  • directus_collections(有什么集合)
  • directus_fields(这些集合中有哪些字段)
  • directus_relations(哪些集合相互连接)

我会亲自复制所有 directus_* 表。即使您不一定要转移活动之类的事情,我也会谨慎行事,并确保您以后不会遇到任何奇怪的问题。

另外,我可以使用此处描述的方法不覆盖任何活动记录并避免丢失数据吗?

如果您不打算在非 prod 环境中编辑任何实际内容,您应该可以忽略 directus_activity 和 directus_revisions,因为这两个与原始内容直接相关。


推荐阅读