2015-11-05 11 views
6

データベースを台無しにして再実行しようとしました。 )djangoの移行適用する移行がありません

1)

2 SQL

経由ですべてのテーブルを削除し、私は今 manage.py makemigrations myappそれが正常に見える移行フォルダとinitial.pyファイルを、作成された操作を行う際に

だから、移行フォルダを削除:私がやりました。また、__init__.pyもあります。しかし、もし私がmanage.py makemigrations myappをやると、私はいつもメッセージ "No migrations to apply"を得る。

私はシェルでデータベースを検索し、テーブルはそこにありません。

私はDjango 1.8を使用しています。

答えて

18

Djangoは、django_migrationsテーブルに適用されているすべての移行を追跡します。

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

してから実行します:

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

'Djangoはdjango_migrationsのtable.'内のすべての適用の移行を追跡しますが、'ちょうどあなたのアプリlike'に関連しているdjango_migrationsテーブル内のすべての行を削除することは非常に破壊的であるためのおかげで – andi

0

Djangoはdjango_migrationsテーブル内のすべての適用の移行を追跡し だからあなたに関連しているdjango_migrations表のすべての行は次のようにアプリを削除します。

だから、あなたはこの方法に従うことができます:

  1. がdjango_migrationsから関連する行を削除します。

  2. python manage.py migrateを実行します。

関連する問題