[英]How to "reset" postgresql database?
我正在嘗試將我的 django 項目移動到生產環境中,並在這樣做時從使用 sqlite 切換到 postgres。 在我的開發環境中,每當我對我的模型或任何會顯着改變數據庫設置方式的內容進行更改時,我實際上只是將我的 sqlite 文件拖到垃圾箱,然后運行 syncdb 來創建一個新的空文件(可能是不好的做法) . 現在我正在使用 postgres,我想做同樣的事情而不實際刪除數據庫。 基本上我想知道是否有辦法完全清空它或清除它然后運行 syncdb 並重新開始?
我也歡迎任何可能引導我走上正確道路的替代建議,我對此很陌生。
您可以使用flush 。 只需運行此命令:
python manage.py flush
首先,如果您的數據庫中有初始數據,您可以使用dumpdata命令:
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
如果刷新不起作用,您可以刪除整個數據庫。
Go 到 windows 命令行。 如果服務器是“postgres”並且數據庫名稱是“mydb”,請運行:
C:\> psql -U postgres
您將看到 postgres-# 提示符。 接下來是關閉運行以下命令的連接:
SELECT * 來自 pg_stat_activity WHERE pg_stat_activity.datname='mydb'; SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname = 'mydb';
一次性刪除數據庫: DROP DATABASE mydb;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.