如何“重置” PostgreSQL数据库?

dav*_*vid 2 django postgresql

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

我也欢迎任何其他可能导致我走上正确道路的建议,对此我是新手。

rud*_*dra 7

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

python manage.py flush
Run Code Online (Sandbox Code Playgroud)


Ema*_*tar 5

首先,如果数据库中有初始数据,则可以使用dumppdata命令:

python manage.py dumpdata > initial_data.json
Run Code Online (Sandbox Code Playgroud)

对于特定应用程序运行:

python manage.py dumpdata <app_name> > initial_data.json
Run Code Online (Sandbox Code Playgroud)

其次运行刷新命令来清理数据库:

python manage.py flush
Run Code Online (Sandbox Code Playgroud)

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

python manage.py loaddata initial_data.json
python manage.py createsuperuser
Run Code Online (Sandbox Code Playgroud)