Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 是否可以与South保持全球(所有应用程序)迁移历史记录?_Python_Django_Django South - Fatal编程技术网

Python 是否可以与South保持全球(所有应用程序)迁移历史记录?

Python 是否可以与South保持全球(所有应用程序)迁移历史记录?,python,django,django-south,Python,Django,Django South,我遇到了与的类似问题,其中来自不同应用程序(如app_a和app_b)的迁移必须交错才能工作,但South首先运行来自app_a的所有迁移,然后默认情况下运行来自app_b的所有迁移 我知道有一种方法,但这似乎是不必要的,因为南方可以记录迁移的全球顺序,所以它可以根据它们在过去的实际交错方式来交错它们 那么,有没有一种好方法可以让South记住您的全局迁移历史并自动设置依赖项?我认为这是不必要的:记录迁移的运行顺序会引入比需要更多的依赖项(因为大多数应用程序的迁移可以而且应该独立于其他应用程序运

我遇到了与的类似问题,其中来自不同应用程序(如app_a和app_b)的迁移必须交错才能工作,但South首先运行来自app_a的所有迁移,然后默认情况下运行来自app_b的所有迁移

我知道有一种方法,但这似乎是不必要的,因为南方可以记录迁移的全球顺序,所以它可以根据它们在过去的实际交错方式来交错它们


那么,有没有一种好方法可以让South记住您的全局迁移历史并自动设置依赖项?

我认为这是不必要的:记录迁移的运行顺序会引入比需要更多的依赖项(因为大多数应用程序的迁移可以而且应该独立于其他应用程序运行)。您只需要自己指定依赖项,因为您知道哪些依赖项需要优先于其他依赖项

此外,迁移运行的顺序实际上并不“存在”:只有多个数据库(本地、开发、生产)和一组应用程序,每个应用程序都有一些迁移。这些迁移只需要运行,并且您需要尽可能少的依赖项。指定运行所有迁移所需的特定顺序是一个不必要的限制

如果其他开发人员决定以不同的顺序迁移应用程序,那么这应该是可能的。唯一的限制应该是您指定的硬依赖项


现在可能需要更多的体力劳动,但如果你的应用程序没有太多的相互交织,那么你就不应该在应用程序之间有太多的依赖关系。如果你这样做,你可能需要考虑合并这些应用程序,因为它们比你想象的更相关。

我投票赞成你的答案,但是我觉得不正确(语义上)把它标记为“被接受的答案”,因为它不能直接回答问题。