如何处理不同环境下的数据库备份和恢复?
How to handle the database backup and restore in different environments?
我在生产环境和多个非生产环境中使用 Directus。在产品中,用户只会更新集合中的内容。在非生产环境中,管理员将测试有关新集合、用户角色、权限等的所有其他更新。我计划备份与生产环境中的集合内容相关的表,并将它们恢复到较低的环境,以保持数据最新。在非生产环境中完成新集合或其他管理员更改的测试后,我计划备份它们,然后将与这些更改相关的表恢复到生产环境。现在,计划是使用 mysqldump 和 mysqlimport 编写 shell 脚本来执行这些操作。
我的问题是,我需要在生产环境中备份哪些与集合内容相关的表,然后转移到较低的环境中?另外,我可以使用描述的方法 here 不覆盖任何 activity 记录并避免丢失数据吗?
任务关键表将是:
- directus_collections(有哪些合集)
- directus_fields(那些集合中有哪些字段)
- directus_relations(哪些集合相互关联)
我会亲自复制所有 directus_* 表。即使您不一定要移动 activity 之类的东西,我也会谨慎行事,并确保您以后不会 运行 遇到任何奇怪的问题。
Also, could I use the method described here to not overwrite any activity records and avoid losing data?
如果您不打算在非产品环境中编辑任何实际内容,您应该能够忽略 directus_activity 和 directus_revisions,因为这两个与原始内容直接相关内容。
我在生产环境和多个非生产环境中使用 Directus。在产品中,用户只会更新集合中的内容。在非生产环境中,管理员将测试有关新集合、用户角色、权限等的所有其他更新。我计划备份与生产环境中的集合内容相关的表,并将它们恢复到较低的环境,以保持数据最新。在非生产环境中完成新集合或其他管理员更改的测试后,我计划备份它们,然后将与这些更改相关的表恢复到生产环境。现在,计划是使用 mysqldump 和 mysqlimport 编写 shell 脚本来执行这些操作。
我的问题是,我需要在生产环境中备份哪些与集合内容相关的表,然后转移到较低的环境中?另外,我可以使用描述的方法 here 不覆盖任何 activity 记录并避免丢失数据吗?
任务关键表将是:
- directus_collections(有哪些合集)
- directus_fields(那些集合中有哪些字段)
- directus_relations(哪些集合相互关联)
我会亲自复制所有 directus_* 表。即使您不一定要移动 activity 之类的东西,我也会谨慎行事,并确保您以后不会 运行 遇到任何奇怪的问题。
Also, could I use the method described here to not overwrite any activity records and avoid losing data?
如果您不打算在非产品环境中编辑任何实际内容,您应该能够忽略 directus_activity 和 directus_revisions,因为这两个与原始内容直接相关内容。