我在我的应用程序上运行了convert_to_south 命令。一切似乎都很顺利:迁移位于 South_migrationhistory 表中,migrate --list 显示已应用的迁移,但是当我执行syncdb 时,应用程序仍然显示为“未同步”。它建议我迁移那些(这什么也不做,因为没有什么可以迁移)
这种行为是预期的吗?
最佳答案
只要您没有收到任何错误,就可以了。在 Django/South 中创建表有两种方法:
- 运行
syncdb
,它会自动创建 Django 的初始表。 - 运行应用的初始迁移,同时还会创建该应用的表。
这些是不同的方法:“同步”的表不是通过迁移创建的,反之亦然。因此,如果 South 已通过初始迁移创建了表,那么它们未“同步”是正确的。
要检查它是否正常工作,您需要:south_migrationhistory
表中的一个条目(即 South 知道迁移已完成)以及具有正确结构的表数据库。如果是这样的话,那就没什么可担心的了。
关于python - 在convert_to_south之后应用程序显示为 "not synced",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11009083/