【发布时间】:2020-06-05 16:08:05
【问题描述】:
我已经处理这个问题很长时间了。我们公司有两台 django 服务器,一台用于测试目的,另一台用于部署目的,每台都有自己的数据库和迁移。
我最初的解决方案是简单地维护两个迁移文件夹:
-->migrations
-->migrations(P)
如上所见,migrations(P) 表示生产级别migrations,此配置主要用于测试阶段,所有迁移都与测试数据库相关,一些当我们处于生产模式迁移时,它会被交换到以下文件夹结构:
-->migrations
-->migrations(T)
在上述情况下,migrations(T) 与测试数据库相关,migrations 与生产级服务器相关。
这工作得很好,但有时当有来自其他开发人员的多个提交时,我自己也在处理它,因为交换迁移文件的文件夹被合并并弄乱了导致崩溃。
对不起,如果我的问题有点令人困惑。 任何维护生产和测试级别数据库迁移的替代建议或方法都会有所帮助
【问题讨论】:
-
为什么测试数据库和生产数据库需要不同的架构?我假设它们具有相同的结构。
-
嗯,我觉得还是单独创建一个test分支,把migration文件夹放到gitignore中比较好,这样在将代码迁移到生产环境时,不会更新生产环境的migration文件夹。
标签: python django django-models database-migration release-management