如何保持多台机器与South和Git同步

所以,尽管我喜欢South,但我对这个特定的工作流程一直存在问题:

>在机器A上迁移几次
>定期将更改推送到Git
>经过很长一段时间后,返回机器B.
>从Git中拉出并且迁移会为机器B抛出各种错误

这些错误通常是“表已存在”错误.

现在我已经阅读了大量的博客文章和堆栈问题,坦率地说,似乎没有一个明确的答案,如何正确检查迁移文件(以及你是否应该),以及如何真正整合南方与Git .

我正在寻找的是如何将Git和South正确地结合在一起的详细介绍,并展示两台机器之间的工作流程.

目前,我需要做的是,过一会儿就完全清除了迁移文件夹并从头开始.这似乎不是处理事情的好方法.

最佳答案 我很想知道提交南迁移文件的疑问.我当然不知道你不会有任何暗示.

使用工作流程时,不指定计算机A和B是使用相同还是不同的数据库.如果两台机器之间的代码差别很大,那么它们应该使用不同的数据库.如果数据库模式超出代码,那么您将收到错误.显然,模式不能落后于代码,因为您应该在代码更新后始终运行迁移.

我的工作流程如下:

A: create schema migrations and apply as they are created.
A: add schema migration files to subversion and commit
B: svn up
B: python manage.py migrate
B: continue coding!

由于迁移文件可以包含转换数据库中数据的代码,因此您不应删除迁移,因为您将丢失该代码.我有一个三人开发团队,他们创建了80次迁移,但没有遇到任何形容问题.

点赞