首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django的核心迁移工具与South数据迁移

Django的核心迁移工具与South数据迁移
EN

Stack Overflow用户
提问于 2013-12-23 21:36:51
回答 3查看 3.3K关注 0票数 5

我目前没有在Django项目中使用迁移,但我打算很快使用。我知道South是事实上的工具,我本来打算使用它,但后来我在Django项目站点上看到,开发版本(我猜将作为1.7发布)有一个核心迁移工具,运行为migrate

我很少有使用迁移工具的经验(我在南方安装了Django-CMS,玩了一天左右),对于初学者来说哪一个是最好的?

而且,由于迁移本身还很年轻,Django的版本更是如此,那么我是否应该选择南方呢?

最后,另一个问题是,如果我从South开始(大部分Django项目都是v1.5),当我升级到1.6,然后升级到1.7时,我会很难转换到Django的核心迁移吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-12-23 22:34:42

很容易放弃南方移徙历史,并初始化任何其他类型的移徙工具。

Django核心迁移是基于南方的,因此我想将南方迁移历史导出到Django核心迁移是可能的。

因为Django核心迁移还没有发布,而且您的目的是学习,我建议从南方开始。

票数 3
EN

Stack Overflow用户

发布于 2014-01-13 17:31:31

由于安德鲁戈德温(创建者或Django核心迁移)的话是:“南方的四年来的设计达到严重的限制,现在是时候添加迁移支持到Django本身”,我不会押注向Django核心迁移输出南迁移历史的能力。

这就是为什么,如果可以的话,我建议您等待1月20日: Django 1.7alpha版本的核心迁移将发布,您可以看到这里

最终,安德鲁·戈德温自己在南边工作,所以您不应该将Django核心迁移看作一个全新的工具,而应该看作是南v2。

然后,您可以非常肯定,一旦Core迁移发布,South就不会得到真正的维护。

这就是为什么我建议等待几段时间,给这个新工具一个机会:)

票数 4
EN

Stack Overflow用户

发布于 2014-05-01 12:29:46

Django 1.7的文档讨论了从南方升级的问题:

如果您已经使用South0.x创建了已有的迁移,那么使用django.db.migrations的升级过程非常简单:

  • 确保所有安装都与其迁移完全更新。
  • 删除所有(编号)迁移文件,但不删除目录或init.py --确保您也删除了.pyc文件。
  • 运行python manage.py makemigrations。Django应该看到空的迁移目录,并以新的格式进行新的初始迁移。
  • 运行python manage.py迁移。Django将看到用于初始迁移的表已经存在,并将它们标记为已应用而不运行它们。

就这样!唯一复杂的是,如果您有一个外键的循环依赖循环;在这种情况下,makemigrations可能会进行多个初始迁移,您需要使用以下方法将它们全部标记为应用:

python manage.py迁移--假yourappnamehere

(来自这里)。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20751534

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档