Django 1.8:删除迁移文件夹后未检测到迁移

12

我不小心删除了迁移文件夹,现在使用 python manage.py makemigrations 命令无法检测到我的模型中的更改。我该怎么办?

shubham@shubham-PC:~/Documents/try/ecommerce$ python manage.py makemigrations
No changes detected

这个仓库在这里

1个回答

23

使用 python manage.py makemigrations 应用程序名称 进行尝试。

编辑: Django 允许您在项目中拥有没有迁移的应用程序。这可以通过 migrations 文件夹进行检测。如果一个应用程序没有它,当使用 python manage.py makemigrations 命令时,它不会创建迁移,即使您已将其添加到 INSTALLED_APPS 中。要强制一个应用程序使用迁移,您需要指定应用程序的名称。顺便说一下,在使用新版本的 Django 创建应用程序时,这是不必要的,因为它们会被创建为带有 migrations 文件夹的应用程序。这只有在删除迁移文件夹(如您所做的那样)或使用旧版本的 Django 创建的应用程序时才是必要的。


成功了!你知道为什么Python manage.py makemigrations 没有检测到更改吗? - FlyingAura
我已经编辑了答案,因为解释太长了,无法放在评论中。 - argaen
太棒了!解释得非常清楚! - FlyingAura
讲解得非常清楚。谢谢您,先生。 - MiniGunnR
谢谢,那个有效。但出于某种原因,我认为即使是更新的版本也存在这个问题。我有3.1.5版本,遇到了类似的问题。如果我删除迁移文件夹中的所有文件(但不删除文件夹本身),同样的问题会发生。 - amolgautam

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接