25

新しいテーブルを作成する移行 003 がありますが、なんらかの理由で、その移行の実行後に South が新しいテーブルを作成していません。次のコマンドを実行しています。

[kelp@web187 goals]$ python2.7 manage.py migrate main 0003_auto__add_nudge
Running migrations for main:
 - Migrating backwards to just after 0003_auto__add_nudge.
 < main:0006_auto__add_field_nudge_status

しかし、次のエラーが表示されます。

django.db.utils.DatabaseError: relation "main_nudge" does not exist

移行 003 が作成することになっているため、存在しません。なぜこのエラーが発生するのですか?

4

1 に答える 1

71

移行 0006 を前方に偽造したようです。後方にも偽造する必要があります。

manage.py migrate --fake yourapp 0005

これにより、現在の移行が 0005 に設定されます。

どうやら、0002 に移行したいようです。

manage.py migrate --fake yourapp 0002

そして、0003 からやり直します。

manage.py migrate yourapp
于 2012-09-11T08:04:10.430 に答える