所以我在Django中创建了一个新的模型,然后执行了两个python的 manage.py makemigrations
和 python manage.py migrate
顺序正确。但后来由于某些原因,我不小心把PgAdmin中的表(关系)掉了(我知道这听起来很傻)。所以我试着删除了迁移文件夹中的所有文件,但是这个 启动.py文件。然后我又运行了上面两个命令,但是在PgAdmin中看不到表。 除了自己在PgAdmin中创建一个表外,我应该怎么做? 先谢谢大家了。
这就不行了,因为所有迁移的条目都已经存储在一个名为 django_migrations
. 所以,即使你运行 makemigrations
删除了所有的迁移文件后,却无法新建一个文件。所以这里有三个方法可以解决。
删除数据库并创建一个新的数据库。运行 makemigrations
和 migrate
命令。
如果你已经删除了所有的迁移文件,你最好恢复它们。你可以用git来恢复。git checkout /path/to/migration/folder
. 然后你可以手动创建表格。
django_migrations
我以为你已经删除了所有的迁移文件。所以这部分涵盖了整个项目。但@DenizKaplan已经解释了更好的方法来做到这一点。
如果你没有使用git,或者没有办法恢复这些文件,那么你可以按照以下步骤进行。
djang_migrations
桌子./manage.py makemigrations
生成迁移文件./manage.py migrate <your lost app>
迁移您的应用程序(您在数据库中丢失的应用程序)。./manage.py migrate --fake
来伪造其余的应用程序。有一些步骤你需要检查。如果你在 makemigrations
操作,您可能需要检查 django_migrations
表来删除与你正在使用的应用程序相关的行。如果这样做没有帮助,你需要检查INSTALLED_APPS,也许你会不小心删除应用程序。如果这些都不行,请提供一些详细的错误信息。