如何使用pg_dump文件恢复Django项目?

3

如何使用已经恢复的PostgreSQL pg_dump数据库恢复Django项目?所有Django源代码也存在。这样做会不会影响Django迁移的安全性?


你的 Pg dump 中是否包含创建表语句?如果没有,那就非常简单。 - Arpit Solanki
是的,pg_dump有创建表语句。 - cw12345
如果您迁移并恢复 Pg dump,那么它将创建新表,因此迁移将被覆盖。如果可能的话,您应该删掉创建表语句,Django 迁移已经为您创建了表。 - Arpit Solanki
1
你的数据库备份中是否包含了Django内部表django_*?如果是的话,那么你就不需要运行任何迁移命令,只需加载整个数据库,Django会认为它已经完全迁移(迁移历史记录存储在数据库中)。 - serg
1个回答

1
如果你的数据库备份包含了所有Django表以及创建表语句,那么你可以直接将其恢复到一个空的数据库中。Django会知道迁移状态,因为它们存储在数据库的一个表中。
步骤如下:
1. 删除并重新创建数据库。 如果现在运行python manage.py showmigrations,所有的迁移都将显示未应用。 2. 从备份中恢复数据库。 如果现在运行python manage.py showmigrations,相应的迁移将显示已应用。如果你的Django项目有新的未应用迁移,它们将显示为未应用状态。
就是这样!现在,如果有任何新的迁移,你可以应用它们并继续在Django项目上工作。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接