我对如何在某些特定团队工作流程中使用south感兴趣。我们的团队为所有开发环境提供单一数据库。 因此,例如:一个开发人员开始在新分支中编写某些功能,并且此功能需要一些数据库迁移。他们根据需要与South进行初始/后续迁移。此时,south_migrationhistory表中的DB中有特定的行。假设它看起来像
10 app1_name 0001_initial <timestamp>
11 app1_name 0002_needed_changes <timestamp>
此时,这个新功能分支并未在任何地方合并,甚至没有推送到原始仓库,因此除了单个开发人员之外,没有人知道代码中的此类更改。
与此同时,还有另一位开发人员实施了其他需要迁移的功能(即使是其他django应用程序)。当这个开发人员尝试进行迁移时,他们将面临South的问题,因为现有的db行具有初始迁移(由第一个开发人员制作),但是VCS中还没有实际的迁移。这种情况产生了
$ manage.py convert_to_south app2
....
south.exceptions.NoMigrations: Application '<module 'apps.app1' from '/home/user/dev/apps/app1/__init__.pyc'>' has no migrations.
是否有针对此类工作流程的解决方案或只是需要更改?