如何"重置" postgresql数据库?

时间:2015-02-11 03:57:21

标签: django postgresql

我正在尝试将我的django项目移动到生产环境中,并且这样做我从使用sqlite切换到postgres。在我的开发环境中,每当我对我的模型或任何会显着改变数据库设置方式的内容进行更改时,我都会将我的sqlite文件拖到垃圾箱中,然后运行syncdb来创建一个新的空文件(可能是不好的做法) 。既然我正在使用postgres,我想要做同样的事情,而不是实际删除数据库。基本上我想知道是否有办法完全清空它或清除它然后只运行syncdb并重新开始?

我也欢迎任何可能引导我走上正确道路的替代建议,我对此非常陌生。

2 个答案:

答案 0 :(得分:5)

您可以使用flush。只需运行此命令:

python manage.py flush

答案 1 :(得分:2)

首先,如果你有initial data in your database,你可以使用dumbpdata命令:

python manage.py dumpdata > initial_data.json

对于特定的应用运行:

python manage.py dumpdata <app_name> > initial_data.json

第二次运行flush命令清理数据库:

python manage.py flush

第三个也是最后一个,运行loaddata命令将初始数据加载到数据库中,并通过运行createsuperuser命令创建超级用户

python manage.py loaddata initial_data.json
python manage.py createsuperuser