只要你注意同时在所有部署上执行此操作,就不会有任何问题。就个人而言,我会:
rm -r appname/migrations/ ./manage.py reset south ./manage.py convert_to_south appname
(请注意,
“ reset south”部分会清除所有应用程序的迁移记录,因此请确保你为所有应用程序运行另外两行或有选择地删除)。
最后的
convert_to_south调用进行了新的迁移并对其进行了虚假应用(因为你的数据库已经具有相应的表)。在此过程中,无需删除所有应用程序表。
当我需要摆脱所有这些不需要的开发迁移时,这就是我在开发+生产服务器上正在做的事情:
- 确保双方都有相同的数据库架构
- 删除两侧的每个迁移文件夹
- 运行./manage.py在两侧重置南(如帖子所述)=清除南表*
- 在两侧运行./manage.py convert_to_south(伪造0001迁移)
- 然后我可以重新开始进行迁移并在服务器上推送迁移文件夹
*除非你只想清理一个应用程序,否则,你将需要编辑south_history表并仅删除有关该应用程序的条目。



