我有一个带有3个环境(本地、预备、生产)的Django网站。
生产环境包含一些数据,我不想让我的开发人员访问到(用户的个人数据和财务数据)。
考虑到合规原因,备份恢复数据库不是一个选项。
但我们在这个网站上也有一些内容页面,我们使用Wagtail CMS进行管理。
我正在寻找一种方法,可以在需要时将生产环境的数据(仅同步某些模型,但具体是Wagtail页面)同步回预备和开发人员的本地环境。
理想情况下,我希望有一个可在其他环境中运行的manage命令来复制数据:
例如:
生产环境包含一些数据,我不想让我的开发人员访问到(用户的个人数据和财务数据)。
考虑到合规原因,备份恢复数据库不是一个选项。
但我们在这个网站上也有一些内容页面,我们使用Wagtail CMS进行管理。
我正在寻找一种方法,可以在需要时将生产环境的数据(仅同步某些模型,但具体是Wagtail页面)同步回预备和开发人员的本地环境。
理想情况下,我希望有一个可在其他环境中运行的manage命令来复制数据:
例如:
./ manage.py sync_from_prod BlogPost ,它会查找本地或预备环境中所有缺少的博客文章,并在数据库中创建它们。 我找不到任何库可以为Wagtail或Django实现此功能。
这似乎是一个常见的问题,我很惊讶没有Stackoverflow问题或开源库解决此问题。
如果不存在,则可能尝试编写自己的django-model-sync(发现这个项目,但它已经三年了,兼容django 1.7,而我是在python3 django 1.11上)。
为了管理安全性,开发人员可以使用秘密访问生产API(通过ssl)暴露数据。