我有一个应用程序,我最近进行了迁移,包括添加一个新表。我可以看到迁移工作,表填充,我可以访问它,等等。即使我运行
python manage.py migrate my_app -l
我可以看到迁移已成功运行。
然而,当我运行单元测试时,我得到:
OperationalError: no such table: my_app_my_table
我能做的唯一事情就是内存数据库没有运行所有的迁移?或者它没有正确地做到这一点?任何帮助将不胜感激。
答案 0 :(得分:0)
可能是您的迁移实际上没有生成您想要的SQL代码,并且可能值得在特定迁移上运行sqlmigrate以确保它生成代码来生成表。
如果SQL代码看起来正确,可能会发生奇怪的事情,并且django认为您运行了迁移,但实际上并没有更改数据库。在这种情况下,您可以尝试还原旧版本的数据库并在其上运行迁移吗?