Python 删除数据库后如何重新创建它们?

Python 删除数据库后如何重新创建它们?,python,sql,django,postgresql,Python,Sql,Django,Postgresql,我使用python manage.py makemigrations myApp和python manage.py migrate myApp命令在数据库中创建Postgres表。然后有人用SQL查询手动删除了它们 我可以使用终端命令在没有数据的情况下重新创建这些表吗?视情况而定 他们删除了所有的表格吗?如果是这样,那很容易。只需重新运行 manage.py migrate. 他们是否只删除了您通过迁移添加的新表? 不错,进入django_migrations表,删除从该表创建已删除表的迁移

我使用
python manage.py makemigrations myApp
python manage.py migrate myApp
命令在数据库中创建Postgres表。然后有人用SQL查询手动删除了它们

我可以使用终端命令在没有数据的情况下重新创建这些表吗?

视情况而定

他们删除了所有的表格吗?如果是这样,那很容易。只需重新运行

manage.py migrate. 
他们是否只删除了您通过迁移添加的新表? 不错,进入django_migrations表,删除从该表创建已删除表的迁移项,然后重新运行

manage.py migrate. 
当您运行makemigrations时,Django创建迁移文件,但在触摸数据库方面不做任何操作

运行migrate命令时,Django会在数据库上运行alter table命令,并向Django_migrations表中添加一个条目,以便它知道哪些迁移已经完成,哪些仍然需要运行


如果此人删除了一组与您的迁移不同步的随机表,那么这将是一个混乱的局面,需要大量手动工作来确保您的迁移和数据库表同步

我的困境是第二个例子。在删除之前复制一份迁移表,以防万一。