问题 syncdb和migrate之间有什么区别?


我正在浏览django文档。在这里我有一个情况。在其中一份文件中,我被告知要做

python manage.py migrate

在另一方面

python manage.py syncdb

我不能做第一个(错误:找不到迁移命令。)但第二个对我来说很好。这是一个版本问题还是我需要处理其他问题。


12010
2018-01-28 10:13


起源

你能分享你正在谈论的文档链接吗? - user2245644
docs.djangoproject.com/en/1.6/intro/tutorial01 - Nabin


答案:


命令 migrate 属于名为south的应用程序(http://south.aeracode.org/)。

来自网站:

这是Django项目的南方智能模式和数据迁移。

在Django == 1.7之前,您必须安装第三方应用程序才能执行数据库迁移。

请参阅文档 readthedocs


6
2018-01-28 10:20





migrate 命令是即将到来的新功能 Django 1.7,尚未发布。

对于早期版本,您可以使用 syncdb,或外部应用程序

阅读文档时,请使用文档版本切换器选择正确的版本。

例如,当前 1.6教程 使用 syncdb,但是 开发教程 (为即将到来的1.7编写)用途 migrate


7
2018-01-28 10:15



谢谢 !!我花时间在那上面。你能告诉我一点关于南方吗? “pip install south”在virtualenv中会得到包吗? - Nabin
是的,我尝试通过“pip install django == 1.7”安装最新版本..我不能那样做..你能解释一下吗? - Nabin
该 南方文件 比我在这里写的任何评论都好。如果你遇到困难,请问另一个问题。 - Alasdair
django 1.7尚未发布。它正在开发中。你可以安装它,但我不推荐它,因为它不如1.6稳定,可能会有变化。 - ptr
pip install South 无论如何都会为你提供最新的稳定版South(0.8.4),所以你不需要指定一个版本 - ptr


这取决于您正在阅读的文档版本。 migrate 是来自的命令  直到最新(当前开发或开发)版本的django是一个单独的应用程序。它最终被集成到Django中(基本上每个django项目当然都使用它,所以它非常值得阅读)。

在django文档页面的右下角有一个选择器,你可以在不同版本的Django之间切换,所以如果你正在寻找你的项目的信息,最好转到你目前的Django版本使用。


2
2018-01-28 10:18