2

我有一个运行 django-cms 的 Django 站点和三个环境:本地开发(当前是一个致力于存储库的 sqlite DB)、暂存(mysql)和产品(mysql)。项目中还有其他 django 应用程序在数据库中有自己的表,并且模式更改通过南迁移进行管理。

我们使用“ git flow ”流程进行开发,这意味着功能在分支中开发并在完成后合并到“开发”分支中。从部署的角度来看,开发分支映射到网站的暂存版本。

我想要一种在这些环境中管理数据的方法,它不涉及为 django-cms 手动制作数据迁移,或者将 staging/prod 数据库吹走以loaddata进行更改。

对此有什么好的工作策略?是否有一种准自动化的方式来生成 South 数据迁移?或者让 django-cms 将页面发布到不同环境的方法?

4

1 回答 1

1

我在多个项目上运行完全相同的设置,但几乎从不考虑在开发、阶段或生产之间迁移数据。

开发环境因测试数据而变得混乱,阶段环境因无法投入生产的开发代码和数据而变得混乱。这意味着希望生产保持干净整洁。

在它们之间移动数据之后应该小心完成,如果错误数据进入生产数据库,我几乎永远不会考虑自动化。

如果您将重要信息放入暂存环境以向客户端演示或在部署到生产之前执行“最终”测试,那么我建议在该特定应用程序上执行数据迁移并使用该数据迁移进行部署.

对于任何其他类型的数据迁移,例如 CMS 页面设置等,我建议您根据需要在 CMS 草稿模式下进行设置,然后发布。

于 2015-03-23T22:37:01.893 回答