Python 如何用pg_转储文件恢复Django项目?

Python 如何用pg_转储文件恢复Django项目?,python,django,postgresql,django-migrations,django-database,Python,Django,Postgresql,Django Migrations,Django Database,使用已从PostgreSQL pg_转储恢复的数据库恢复Django项目的过程是什么。所有django源代码也都存在。Django移民安全吗 如果转储具有create table语句并包含所有django表,则可以将其直接还原到空数据库中。Django将知道迁移的状态,因为迁移存储在数据库的表中 因此,步骤如下: 删除并重新创建数据库 如果现在运行python manage.py showmigrations,则所有迁移都将显示为未应用 从转储还原数据库 如果现在运行python manage.

使用已从PostgreSQL pg_转储恢复的数据库恢复Django项目的过程是什么。所有django源代码也都存在。Django移民安全吗

如果转储具有create table语句并包含所有django表,则可以将其直接还原到空数据库中。Django将知道迁移的状态,因为迁移存储在数据库的表中

因此,步骤如下:

  • 删除并重新创建数据库

    如果现在运行python manage.py showmigrations,则所有迁移都将显示为未应用

  • 从转储还原数据库

    如果现在运行python manage.py showmigrations,则相应的迁移将显示为已应用。如果django项目具有在创建转储时未应用的新迁移,它们将显示为未应用


  • 就这样!现在您可以应用新的迁移(如果有)并继续处理Django项目。

    您的Pg转储是否包含create table语句,如果没有,则超级简单。是的Pg_转储具有create table语句。如果您迁移并恢复Pg转储,则它将创建新表,以便覆盖迁移。如果可能的话,您应该删除create table语句,Django迁移已经从您那里创建了表。您的转储文件中是否有Django内部表?如果是,则不需要运行任何迁移,只需加载整个数据库,django就会认为它已完全迁移(迁移历史存储在数据库中)