2015-11-05 164 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。