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