2012-04-13 15 views
1

私は既存のDjangoアプリにSouthをインストールしました。このDjangoアプリはHerokuにもあります。HerokuのSouthでDjangoアプリを移行できません

モデルに変更を加えることなく、私はローカルで次のコマンドを行ってきた:

  • manage.py schemamigration app_name --initial
  • manage.py migrate --fake

は、その後、私はHerokuのマスターをプッシュしようとしましたが、そこに移行します。しかし、私は次を受け取ります:

Running migrations for app_name: 
- Nothing to migrate. 
    - Loading initial data for notecards. 
No fixtures found 

私はHerokuを偽造しようとすると、同じメッセージが表示されます。

私は、技術的にはdbが同じままであるため、移行するものはないので、これは問題ありません。

だから私は、モデルの一つに小さな変更を加えて、次のように行った:

  • manage.py schemamigration app_name --auto
  • manage.py migrate

私は、Herokuのに押され、そこに移行しようとしましたが、I次のように表示されます。

Running migrations for app_name: 
- Nothing to migrate. 
    - Loading initial data for notecards. 
No fixtures found 

私が間違っていることを助けてくれれば助かります。ありがとう。

+0

マイグレーションフォルダには2つのエントリ0001がありますしかし、この問題は2回目の移行を行う前に発生しました。 –

+1

新しい移行をコミットしてもよろしいですか?Herokuの移行フォルダを確認し、そこに実際に移行が実行されていないことを確認します。 –

+0

それは私を正しい軌道に乗せた。以前の移行を再帰的に削除し、新しい移行から開始する必要がありました。 THanks –

答えて

-1

この問題に遭遇し、私自身の参考になる他の人のために。 Chris Prattが私を正しい軌道に乗せることに感謝します。

これをすることで解決したローカル

を再帰的に古いデータベースを洗い流す古い移行git rm -r migrations

を削除する(これは、すべてのデータを削除しますが、私にとって、これは問題を波平)manage.py flush

アプリフォルダ内の移行フォルダを削除する

run initial schemamigrati実行偽物がHerokuの上manage.py migrate --fake

プッシュHerokuのマスター

を移行manage.py schemamigration --initial

上:

ローカル、そして、heroku run python manage.py migrate app_name

を移行し、あなたは、Herokuのにプッシュ、--autoを移行実行することができますmigrate app_nameを実行します

+0

この回答はほとんど理解できないだけでなく、うまくいかないようです。 – FRD

+1

あなたは答えのどの部分を理解していませんか?基本的には移行を再帰的に削除してから新しい移行を作成するだけです。少なくとも書面では動作しますが、マイグレーションは完全に削除されます - これはあなたが探しているものではないかもしれません。おそらくあなた自身の質問を作成して回答する方が良いでしょう。 –

+0

これはしばらく前のことでしたが、あなたのデータベースを壊すことなくこれを処理する方法を見つけましたか?ちょうど私がこの同じ問題を抱えているので好奇心が強いです。そして、それは "技術的に"重要なことではないローカルデータベースを念じるだけです。ただ面倒です。 –

関連する問題