【问题标题】:How do you drop all tables from an app in Django 1.8+?如何从 Django 1.8+ 的应用程序中删除所有表?
【发布时间】:2016-09-10 12:06:50
【问题描述】:

我正在将 Django 1.4 升级到 1.8,并且有一些 3rd 方应用程序的架构发生了巨大变化以支持升级。我想重置这些应用程序,以便可以从中重新创建相应的表。在之前的 Django 迭代中,我可以做到这一点

./manage.py sqlclear appname

./manage.py reset appname

但是 Django 1.8 中已经不推荐使用 sqlclear 和 reset 了。除了手动从数据库中删除表之外,还有其他干净的方法吗?

【问题讨论】:

  • 你试过migrate appname zero吗?
  • @schowbaseggl 是的,不会删除表格。
  • @Irvan 它删除了在 Django 2.1 上测试过的表

标签: django django-admin django-1.8


【解决方案1】:

截至 Django 1.8+ migrate appname zero 取消应用所有迁移并删除表docs

【讨论】:

    【解决方案2】:

    看看 Django Extensions,它提供了大量有用的命令,包括:

    manage.py reset_db
    

    https://github.com/django-extensions/django-extensions

    祝你好运!

    【讨论】:

      【解决方案3】:

      删除您的数据库并以最快的方式重新创建它!

      【讨论】:

      • 我认为当您的迁移量很大时,这不是最快的方式
      • 这会破坏您的数据库。大多数在如此大的版本集上进行升级的人都有相当多的数据,他们不想丢失......
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-08
      • 1970-01-01
      • 2012-03-05
      • 2015-04-04
      • 1970-01-01
      • 2017-03-28
      • 1970-01-01
      相关资源
      最近更新 更多