代码之家  ›  专栏  ›  技术社区  ›  User

在Django中删除所有表以运行syncdb的最简单方法?

  •  0
  • User  · 技术社区  · 9 年前

    我一直在我的Django模型中做一些小改动。我不在乎我不断添加的测试数据,我只想删除所有表(模型),这样我就可以运行 syncdb 再一次 manage.py flush 不删除表模式,它只是删除数据。

    Django 1.6中是否有更快的功能来删除所有表?

    1 回复  |  直到 9 年前
        1
  •  3
  •   Yonsy Solis    9 年前

    1) Django 1.6是不受支持的Django版本 https://www.djangoproject.com/download/#supported-versions

    您可以看到,Django 1.6在2015年4月之前一直受支持。所以现在尝试迁移到1.8 LTS或1.9,并在您的Django项目中进行迁移,或者将South集成到旧的Djang应用程序中进行迁移 http://south.readthedocs.org/en/latest/index.html

    2) 不,Django 1.6中没有更快的函数(Django admin/manage.py命令)可以删除所有表。在旧版本中更接近的是:

    manage.py sqlclear appname

    并将输出放在sqlshell中,也许可以使用管道。

    manage py sqlclear appname | manage.py dbshell

    至少MySQL运行良好。