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

Easiest way to drop all tables to run syncdb in Django?

我一直在对我的 Django 模型进行微小的更改。我不关心我不断添加的测试数据,我只想删除所有 tables(模型)以便我可以再次 运行 syncdbmanage.py flush 不会删除 table 架构,它只会删除数据。

Django 1.6 中是否有更快的函数来删除所有 tables?

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

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

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

manage.py sqlclear appname

并将输出放入您的 sql shell,也许可以使用管道。

manage py sqlclear appname | manage.py dbshell

至少与 MySQL 一起工作得很好。