【问题标题】:Easiest way to drop all tables to run syncdb in Django?删除所有表以在 Django 中运行 syncdb 的最简单方法?
【发布时间】:2016-04-01 20:31:27
【问题描述】:

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

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

【问题讨论】:

  • 您可以使用迁移 - 无需在每次更改时删除所有表。
  • 如果您不关心这些表,最好删除整个数据库并重新创建它。如何执行此操作取决于您使用的数据库。

标签: python django django-1.6


【解决方案1】:

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 上运行良好。

【讨论】:

    猜你喜欢
    • 2012-03-04
    • 1970-01-01
    • 2011-11-12
    • 2023-03-26
    • 1970-01-01
    • 2011-04-02
    • 1970-01-01
    • 2020-10-02
    • 2015-06-11
    相关资源
    最近更新 更多