我能够使用以下步骤重置Django PostgreSQL数据库:
目前,我正在对我的模型进行更改,并测试每个更改。我没有任何需要保存的数据。当迁移不起作用时,是否有比上述更简单的方法来重置数据库?
我至少希望用其他的东西来代替步骤2,这样我就可以跳过步骤3-5。
发布于 2016-01-03 11:34:51
可能最简单的方法是重新创建整个数据库。在Ubuntu中,它看起来如下:
sudo su postgres
psql
drop database your_database_name;
create database your_database_name with owner user_you_use_in_django;
\q
exit
就这样。你有干净的数据库。要使它做好准备,您必须使用python manage.py migrate
运行迁移。
如果您单独处理项目,则可以删除和重新创建迁移(如果需要)。
发布于 2020-01-15 18:57:25
我成功地“重置了我的django postgreSQL数据库”(同时又没有丢失数据)。
更新我的models.py,然后使用./manage.py makemigrations
和./manage.py migrate
是不可能的,因为我需要重命名的表循环地指向彼此。Django不能“自动神奇地”完成上述任务。
所以我选择了备份我的数据。冲水。删除表格。更新我的models.py文件。修改我创建的(json)备份(使用./manage.py datadump > fileName.json
),以反映已更新的列名/表名。然后,我使用./manage.py migrate
和./manage.py makemigrations
重新创建了数据库。然后,我使用./manage.py loaddata fileName.json
将备份加载回数据库的新创建表中。
我所采取的具体步骤:
发布于 2020-08-12 09:40:48
用Python
from django.db import connection
with connection.cursor() as cursor:
cursor.execute("DROP SCHEMA public CASCADE;")
cursor.execute("CREATE SCHEMA public;")
然后,
python manage.py migrate
https://stackoverflow.com/questions/34576004
复制相似问题