How to “reset” postgresql database?
我正试图将我的Django项目转移到生产环境中,在这个过程中,我从使用sqlite切换到了postgres。在我的开发环境中,每当我对我的模型进行更改或任何会显著改变数据库设置方式的事情时,我都会将我的sqlite文件拖到垃圾桶中,然后运行syncdb创建一个新的空文件(可能是坏的做法)。现在我使用的是Postgres,我想在不删除数据库的情况下做同样的事情。基本上我想知道是否有一种方法可以完全清空它或者清除它,然后运行syncdb重新开始?
我也欢迎任何可能引导我走上正确道路的替代建议,我对这个很陌生。
你可以用冲水。只需运行以下命令:
1 | python manage.py FLUSH |
首先,如果数据库中有初始数据,可以使用dumpdata命令:
1 | python manage.py dumpdata > initial_data.json |
对于特定的应用程序运行:
1 | python manage.py dumpdata > initial_data.json |
然后运行flush命令清理数据库:
1 | python manage.py FLUSH |
第三个也是最后一个,运行load data命令将初始数据加载到数据库中,并通过运行create superuser命令创建超级用户。
1 2 | python manage.py loaddata initial_data.json python manage.py createsuperuser |