有没有 django 命令
A. 删除所有表
B.删除所有表中的所有数据
C. 创建模型中定义的所有表?
我现在找不到这些!
我所说的命令是指那些像
runserver
ETC
有没有 django 命令
A. 删除所有表
B.删除所有表中的所有数据
C. 创建模型中定义的所有表?
我现在找不到这些!
我所说的命令是指那些像
runserver
ETC
A. 删除所有表
manage.py sqlclear
将打印 sql 语句以删除所有表
B.删除所有表中的所有数据
manage.py flush
将数据库返回到它在 syncdb 执行后立即所处的状态
C. 创建模型中定义的所有表?
manage.py syncdb
为 INSTALLED_APPS 中尚未创建表的所有应用程序创建数据库表。
请参阅此页面以获取所有命令的参考:https ://docs.djangoproject.com/en/dev/ref/django-admin/
但是您绝对应该像已经提到的那样考虑使用南。这是管理数据库的最佳方式。
注意:syncdb
从 Django 1.7 开始,不推荐使用 migrate。
如果您为数据库安装了客户端库,则可以运行以下命令:
python manage.py sqlflush | python manage.py dbshell
这不会删除表,但会截断它们。
没有一个命令可以一次性完成所有操作,但是这个“一个班轮”将删除所有表,然后重新创建它们。仅当您在一个在 shell 中提供这些实用程序的系统上运行时,它才会起作用。
echo 'from django.conf import settings; print settings.INSTALLED_APPS; quit();' | python manage.py shell --plain 2>&1 | tail -n1 | sed -r "s|^.*\((.*)\).*$|\1|; s|[',]| |g; s|django\.contrib\.||g" | xargs python manage.py sqlclear | python manage.py dbshell && python manage.py syncdb
既不manage.py sqlclear
也不能manage.py reset
一次删除所有表,两者都需要一个appname
参数。
你应该看看Django Extensions,它可以让你访问manage.py reset_db
以及许多其他有用的管理命令。
我建议使用 django-south。它不仅允许您在添加字段时将模型同步到数据库,还允许您在删除字段/模型时同步您的模型。我真的发现它是构建 Django 站点的重要组成部分。安装后,您可以运行如下命令:
./manage.py 迁移应用程序零
您可以在这里了解更多信息:http: //south.aeracode.org/docs/about.html
还有一个更简单的 oneliner 来删除 django 1.5+ 的所有表:
python2 manage.py sqlflush | sed 's/TRUNCATE/DROP TABLE/g'| python2 manage.py dbshell
我能够放下我的桌子。跑
python manage.py sqlclear appname
记下给出的命令。然后运行
python manage.py dbshell
添加第一步中给出的命令。逐行。完成后,输入“.exit”(对于 SQlite3)。重新同步您的数据库,您应该一切顺利。可以肯定的是,请检查以下表格:
python manage.py shell
>>> from yourapp import yourclasses
>>> yourviews.objects.all()
它应该返回一个 []。我希望这有帮助。
A暗示B,对吧?
对于 A,请参阅如何在 Django 中使用 manage.py CLI 从数据库中删除所有表?
对于 C,
python manage.py syncdb
当然,对于智能数据迁移,我使用@bento 提到的内容:django-south