2012-04-23 7 views
2

python manage.py migrate apiを実行すると、 "RuntimeError:この移行を元に戻すことができません"というエラーが表示されます。django Southが逆方向移行を実行しようとしている理由がわかりません

問題は、なぜ逆方向移行を実行しようとしているのかわかりません。失敗したファイルは0025です。これはMySQLデータベースのsouth_migrationhistoryテーブルには記載されていません。

Southがこのコマンドで逆の移行を実行しようとしている理由は何ですか?

ありがとうございます!

EDIT:

フルスタックトレースは次のとおりです。

Running migrations for api: 
- Migrating forwards to 0026_auto. 
> api:0025_auto__chg_field_article_curator_response_comment__chg_field_article_cu 
Traceback (most recent call last): 
    File "manage.py", line 14, in <module> execute_manager(settings) 
    File "/home/ubuntu/fake-env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 459, in execute_manager utility.execute() 
    File "/home/ubuntu/fake-env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 382, in execute self.fetch_command(subcommand).run_from_argv(self.argv) 
    File "/home/ubuntu/fake-env/local/lib/python2.7/site-packages/django/core/management/base.py", line 196, in run_from_argv self.execute(*args, **options.__dict__) 
    File "/home/ubuntu/fake-env/local/lib/python2.7/site-packages/django/core/management/base.py", line 232, in execute output = self.handle(*args, **options) 
    File "/home/ubuntu/fake-env/local/lib/python2.7/site-packages/south/management/commands/migrate.py", line 105, in handle ignore_ghosts = ignore_ghosts, 
    File "/home/ubuntu/fake-env/local/lib/python2.7/site-packages/south/migration/__init__.py", line 191, in migrate_app success = migrator.migrate_many(target, workplan, database) 
    File "/home/ubuntu/fake-env/local/lib/python2.7/site-packages/south/migration/migrators.py", line 221, in migrate_many result = migrator.__class__.migrate_many(migrator, target, migrations, database) 
    File "/home/ubuntu/fake-env/local/lib/python2.7/site-packages/south/migration/migrators.py", line 292, in migrate_many result = self.migrate(migration, database) 
    File "/home/ubuntu/fake-env/local/lib/python2.7/site-packages/south/migration/migrators.py", line 125, in migrate result = self.run(migration) 
    File "/home/ubuntu/fake-env/local/lib/python2.7/site-packages/south/migration/migrators.py", line 99, in run return self.run_migration(migration) 
    File "/home/ubuntu/fake-env/local/lib/python2.7/site-packages/south/migration/migrators.py", line 86, in run_migration print self.run_migration_error(migration) 
    File "/home/ubuntu/fake-env/local/lib/python2.7/site-packages/south/migration/migrators.py", line 286, in run_migration_error (self.format_backwards(migration), extra_info)) 
    File "/home/ubuntu/fake-env/local/lib/python2.7/site-packages/south/migration/migrators.py", line 273, in format_backwards self.backwards(migration)() 
    File "/home/ubuntu/fake-env/local/lib/python2.7/site-packages/south/migration/migrators.py", line 57, in <lambda> return (lambda: direction(orm)) 
    File "/home/ubuntu/fakeapi/fakeapi/../fakeapi/api/migrations/0025_auto__chg_field_article_curator_response_comment__chg_field_article_cu.py", line 42, in backwards raise RuntimeError("Cannot reverse this migration. 'Image.article' and its values cannot be restored.") 
RuntimeError: Cannot reverse this migration. 'Image.article' and its values cannot be restored. 
+0

唯一のエラーですか、それとももっと詳細ですか?ロールバックしようとするエラーが発生した可能性がありますが、ロールバックエラーが表示されているだけです。 –

+0

私はこれが唯一の関連情報だと確信しています。私は完全なスタックトレースを追加しました。 – djs22

+0

私はそれが移行を元に戻すことが可能であることを確認するためのチェックをしていると信じています。そしてそれは不可能なので、エラーを投げる。移行が欠落していると、逆の移行が防止されます。ちょっとした考え。 – mtnpaul

答えて

4

それは、移行エラーが発生しましたし、それをロールバックしようとしています。一時的に後方への移行をきれいにして、本当の誤りが何であるか見ることができます。

+0

ありがとうございました@ilvar、逆方向の移行をクリーンアップする方法を説明できますか?私は情報をオンラインで見つけることができません – djs22

+1

'backwards'メソッドですべてのコードをコメントアウトし、代わりに' pass'を追加してください – ilvar

+0

ありがとうilvar、同じ問題がありました。 – cvk

関連する問題