2011-07-13 9 views
1

私は私のdjangoテストは、南のスキーマの移行順序のために動作していませんか?

manage.py test myapp 

を実行すると、それは私がスキーマの移行、ジャンゴ1.3とMySQLを処理するためにsouthを使用しています。このエラー

Creating test database for alias 'default'... 
! Error found during real run of migration! Aborting. 
_mysql_exceptions.OperationalError: (1005, "Can't create table 
    'test_dom.#sql-49b_1a1' (errno: 150)") 

で死にます。

注私は個別にプロジェクトを設定するとき、私は順番に次の操作を行うこと

  • syncdbの実行
  • マイグレーション・APP1
  • マイグレーション・APP2

が最後の移行が適用される移行しますすべての他のアプリに最初の2つのアプリケーションで手動で移行を行っていない場合南は私の上でもクラッシュするでしょう。

これを解決する方法はありますか?

答えて

2

なぜsyncdbの後に移行するのですか?確かにあなたは新しく作成されたデータベースの後に行うマイグレーションはありませんか?

はまた、南の設定に注意してください:あなたは南の移行に依存関係を定義することができ

SKIP_SOUTH_TESTS = Trueの SOUTH_TESTS_MIGRATE = Falseの

+1

syncdbの後の移行は、有効なユースケースです。http://south.readthedocs.org/ja/latest/tutorial/part1.html#the-first-migration – hangtwenty

3

を知っていますか?

http://south.aeracode.org/docs/dependencies.html

あなたが依存関係を定義した場合、シングル "manage.py移行は" 動作するはずです。そうでない場合は、エラーメッセージを投稿してください。

関連する問題