为什么官方django基金会在django 1.9版本中删除'syncdb'命令?

时间:2015-04-17 08:22:37

标签: python django

近期发布django 1.9明确指出将删除syncdb命令。这有什么优点和缺点?

3 个答案:

答案 0 :(得分:5)

这不是利弊的情况,syncdb命令在Django 1.7中被作为第三方库(称为" South"用于数据库迁移的用于Django核心,Djangos内置的迁移现在使用" migrate"而不是" syncdb"。 "执行syncdb"在1.7中已弃用,仅用于支持尚未转换为使用新迁移的旧项目。

答案 1 :(得分:5)

您的问题已在the official documentation中得到解答。

  

在1.7版之前,Django仅支持添加新模型   数据库;无法通过改变或删除现有模型   syncdb命令(迁移的前身)。

     

第三方工具,尤其是南方工具,为这些提供了支持   其他类型的变化,但它被认为是重要的   这种支持被带入核心Django。

由于migratesyncdb的超集,因此没有理由在1.9之外的版本中继续支持syncdb命令。

答案 2 :(得分:0)

Django现在能够使用迁移,它将您的模型转换为python数据库模式代码,使其与所有类型的数据库兼容。因此,您只需键入

,而不必使用原始SQL添加新表
manage.py makemigrations
manage.py migrate

哪个会为你做任何事