Django 1.8:删除迁移文件夹后未检测到迁移
Posted
技术标签:
【中文标题】Django 1.8:删除迁移文件夹后未检测到迁移【英文标题】:Django 1.8: Migrations not detected after deleting migrations folder 【发布时间】:2015-09-13 02:30:22 【问题描述】:我不小心删除了迁移文件夹,现在 python manage.py makemigrations 没有检测到我的模型中的更改。我该怎么办?
shubham@shubham-PC:~/Documents/try/ecommerce$ python manage.py makemigrations
No changes detected
仓库是here
【问题讨论】:
【参考方案1】:试试python manage.py makemigrations app_name
。
编辑: Django 允许您在项目中拥有无需迁移的应用程序。这是通过migrations
文件夹检测到的。如果应用程序没有它,则在使用python manage.py makemigrations
命令时它不会创建迁移,尽管您在INSTALLED_APPS
中有它。要强制应用程序使用迁移,您需要指定应用程序的名称。顺便说一句,这对于您使用新版本 Django 创建的应用程序来说不是必需的,因为它们是使用 migrations
文件夹创建的。仅当您删除迁移文件夹(如您所做的那样)或使用使用旧版本 Django 创建的应用程序时才需要这样做。
【讨论】:
成功了!你知道为什么 python manage.py makemigrations 没有检测到变化吗? 我已经编辑了答案,因为解释太长,无法放入评论中;)。 太棒了!解释一切! 解释得很好。谢谢先生。 谢谢你,成功了。但出于某种原因,我认为即使是较新的版本也有这个问题。我有 3.1.5 版,我遇到了类似的问题。如果我删除迁移文件夹中的所有文件(但不删除文件夹本身),则会发生同样的问题。以上是关于Django 1.8:删除迁移文件夹后未检测到迁移的主要内容,如果未能解决你的问题,请参考以下文章
如何在 django (1.8) 迁移中删除索引 varchar_pattern_ops?