directus - 如何处理不同环境下的数据库备份和恢复?
问题描述
我在产品和多个非产品环境中使用 Directus。在 prod 中,用户只会更新集合中的内容。在非 prod 中,管理员将测试有关新集合、用户角色、权限等的所有其他更新。我计划备份与 prod 中的集合内容相关的表并将它们恢复到较低的环境,以使数据保持最新。一旦在非 prod 环境中完成了对新集合或其他管理更改的测试,我计划备份它们,然后将与这些更改相关的表恢复到 prod。目前,计划是使用 mysqldump 和 mysqlimport 编写 shell 脚本来执行这些操作。
我的问题是我需要在 prod 中备份哪些与集合内容相关的表并转移到较低的环境?另外,我可以使用此处描述的方法不覆盖任何活动记录并避免丢失数据吗?
解决方案
关键任务表将是:
- directus_collections(有什么集合)
- directus_fields(这些集合中有哪些字段)
- directus_relations(哪些集合相互连接)
我会亲自复制所有 directus_* 表。即使您不一定要转移活动之类的事情,我也会谨慎行事,并确保您以后不会遇到任何奇怪的问题。
另外,我可以使用此处描述的方法不覆盖任何活动记录并避免丢失数据吗?
如果您不打算在非 prod 环境中编辑任何实际内容,您应该可以忽略 directus_activity 和 directus_revisions,因为这两个与原始内容直接相关。
推荐阅读
- google-chrome - 性能选项卡显示非常浅的堆栈
- azure-data-factory - 无法在 ADFv2 中为 Tumbling Window 触发器依赖项指定窗口
- python-3.x - 使用 f 字符串限制复杂字符串长度
- python - KeyError 更改数据框中的列
- excel - 用于聚合值和向下钻取的 VBA
- java - Java ClassLoader.getResource(String name) 找到目录但其中没有文件
- apache-kafka - 属性文件中关于 num.partitions 的行为
- ios - 将 RN FFMPEG 集成到本机反应中时出错
- python - 回到主菜单时,诅咒 Python 不清理窗口
- php - 如何在php的第一行之前获得总计/总和