Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何迁移类似于RubyonRails迁移的Django模型?_Python_Django_Migration - Fatal编程技术网

Python 如何迁移类似于RubyonRails迁移的Django模型?

Python 如何迁移类似于RubyonRails迁移的Django模型?,python,django,migration,Python,Django,Migration,Django有许多开源项目,它们解决了框架中一个更引人注目的问题:模型“进化”。Ruby on Rails本机支持,但我很好奇是否有人可以推荐以下Django“evolution”项目之一: 南方的蒸汽量最大。dmigrations在我看来太基本了。django evolution会尖叫,如果你碰到它外面的db 南方是迄今为止最强的竞争者。随着模型冻结和自动迁移,它已经走过了漫长的道路。南方和django evolution无疑是最好的选择。根据我的经验,South的模型冻结和自动暗示仍

Django有许多开源项目,它们解决了框架中一个更引人注目的问题:模型“进化”。Ruby on Rails本机支持,但我很好奇是否有人可以推荐以下Django“evolution”项目之一:


    • 南方的蒸汽量最大。dmigrations在我看来太基本了。django evolution会尖叫,如果你碰到它外面的db


      南方是迄今为止最强的竞争者。随着模型冻结和自动迁移,它已经走过了漫长的道路。

      南方和django evolution无疑是最好的选择。根据我的经验,South的模型冻结和自动暗示仍然非常脆弱(django evolution的暗示在边缘案例中更为强大),但django evolution的发展似乎自去年夏天以来一直停滞不前。如果我现在开始,我可能会选择南方,主要是因为这个原因。

      我是开发dmigrations的团队的一员,但我会全心全意地推荐南方。它更为成熟,正在积极开发中,并具有一些杀手级功能,如ORM冻结(如果您尝试在dmigrations中使用ORM代码,然后更改模型,您将陷入一个痛苦的世界)。

      阅读本文后,我在不到一个小时的时间内从“对数据模型演变一无所知”变成了“使用南方管理模型迁移”。South的文档非常出色,让我在创纪录的时间内赶上了进度。没有看过其他提到的工具,我完全推荐它

      更新:自从大约一个月前发布这个答案以来,我经历了几次数据模型审查,从简单的字段重命名到用新表完全替换一些表。South无法以完全自动化的方式完成所有工作(例如,重命名看起来像删除和添加),但文档将指导您顺利完成手动步骤


      我将把南方纳入未来的任何项目。神奇的工具

      好问题!!我也希望在Django中使用类似于迁移的东西。还可以看到这个问题:虽然最受欢迎的答案是迁移,但它也有问题。我对南方印象深刻,但Django的进化看起来也很有趣。除非在接下来的几个小时内有更多的答案,否则我会选择这个。如果你使用的是进化工具,你不应该接触它之外的数据库,所以我不认为这是一个很大的争论。