问题 南方数据移植与模式移民相比有什么作用?


我最近开始深入挖掘  文档并发现它有两种不同类型的迁移:

  • schemamigration
  • 数据迁移

由于我的无知,我总是使用schemamigrations来处理所有事情。换句话说,即使我有一些真正的“数据迁移”,我也只是使用South的模式迁移来转换数据(没有明显的后果)。

当我阅读文档时,我没有看到这种方法的错误。有没有人知道两次迁移之间的根本区别以及我坚持使用schemamigrations可能会遗漏的内容?


5571
2017-12-02 15:17


起源



答案:


实际上只有一种迁移,但有两种命令。 datamigration 创建一个新的空白迁移,供您填写,同时 schemamigration 是一个可选的便捷命令,它将尝试检测架构更改并自动创建迁移。

编辑:来自 http://south.aeracode.org/docs/commands.html#schemamigration

虽然迁移是南方真正的肉和骨头,但相比之下,schemamigration是一个完全可选的附加功能。它是一个实用程序,可以帮助您编写一些迁移(特别是那些更改模式的迁移);如果你愿意,你可以忽略它并写下你自己的一切,在这种情况下,我们祝你好运,打字快乐。


6
2017-12-02 15:29





根据南方的首席开发人员:

你可以在这里看到不同之处:    https://bitbucket.org/andrewgodwin/south/src/b3ed126b19a2/south/v2.py

如图所示,唯一的区别是数据迁移不是   如果你有一个需要它的数据库(MySQL),请运行。除此以外,   至少在目前,管理层没有什么区别   但命令不同(这完全取决于用户界面分离,   本质上)。


5
2017-12-02 15:30