繁体   English   中英

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

[英]How do I re-create databases after they were deleted?

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

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

这取决于。

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

manage.py migrate. 

他们只是删除您在迁移中添加的新表吗? 还不错,进入django_migrations表,并删除从该表创建已删除表的迁移条目,然后重新运行

manage.py migrate. 

当您运行makemigrations时,Django会创建迁移文件,但是就触摸数据库而言,它不执行任何操作。

当您运行migration命令时,Django在数据库上运行alter table命令,并将条目添加到django_migrations表中,因此它知道哪些迁移已完成,哪些迁移仍需要运行。

如果该人删除了与您的迁移不同步的随机表集,那将是一团糟,并且将涉及大量手动工作以确保您的迁移和数据库表是同步的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM