Huu*_*uze 11 django django-south
我最近开始深入挖掘南方文档并发现它有两种不同类型的迁移:
由于我的无知,我总是使用schemamigrations来处理所有事情.换句话说,即使我有一些真正的"数据迁移",我也只是使用South的模式迁移来转换数据(没有明显的后果).
当我阅读文档时,我没有看到这种方法的错误.有没有人知道两次迁移之间的根本区别以及我坚持使用schemamigrations可能会遗漏的内容?
实际上只有一种迁移,但有两种命令.datamigration创建一个新的空白迁移供您填写,同时schemamigration是一个可选的便捷命令,它将尝试检测模式更改并自动创建迁移.
编辑:来自http://south.aeracode.org/docs/commands.html#schemamigration
虽然迁移是南方真正的肉和骨头,但相比之下,schemamigration是一个完全可选的附加功能.它是一个实用程序,可以帮助您编写一些迁移(特别是那些更改架构的迁移); 如果你愿意,你可以忽略它并写下你自己的一切,在这种情况下,我们祝你好运,打字快乐.
根据南方的首席开发人员:
你可以在这里看到差异:https: //bitbucket.org/andrewgodwin/south/src/b3ed126b19a2/south/v2.py
如图所示,唯一的区别是,如果您有一个需要它的数据库(MySQL),数据迁移不是干运行的.否则,至少目前没有什么区别 - 管理命令有所不同(本质上是关于用户界面分离).