2015-11-05 120 views
6

我搞砸了我的数据库,所以我试图重做它。我所做的:django迁移没有迁移申请

1)通过SQL

2删除所有表)中删除的文件夹迁移

所以,当我现在做的manage.py makemigrations myapp它正在创建迁移文件夹和initial.py文件,它看起来不错。 __init__.py也在那里。但是,如果我做manage.py makemigrations myapp我总是会收到消息“没有适用的迁移”。

我查了一下shell中的数据库,这些表不在那里。

我正在使用Django 1.8。

回答

18

Django跟踪django_migrations表中的所有应用迁移。 所以才删除那些应用程序与你有关,如django_migrations表中的所有行:

DELETE FROM django_migrations WHERE app='your-app-name'; 

然后执行:

python manage.py makemigrations 
python manage.py migrate 
+0

谢谢'Django的持续跟踪django_migrations table.'所有应用的迁移,而是'只是删除那些与你有关的django_migrations表中的所有行应用like'有很大的破坏性 – andi

0

Django的持续跟踪django_migrations表中的所有应用的迁移。

所以,你可以按照这个方法:

  1. 从django_migrations删除相关行。

  2. run python manage.py migrate。