私は、MySQL データベースでかなりの量のデータを使用して実行している実稼働 Web プロジェクトを持っています。「enterlink」というアプリにいくつかの変更を加えてデータベースを更新しようとしています。既存のモデルに新しい要素を加え、完全に新しいモデルを作成しました。この移行の前に、最初にsyncdbを実行して作成して以来、dbのスキーマに触れたことはありませんでした。「python manage.py makemigrations enterlink」を実行すると、以下の出力が表示されます(pic)。私の質問は、なぜこれが起こっているのですか?DB には、図にリストされているすべてのモデルが既に含まれているのに、なぜそれらのモデルのリストを登録しているのでしょうか? 「python manage.py migrate」または「python manage.py migrate --fake enterlink」を実行して移行を完了すると(写真は再び)、出力が表示されますが、データベース スキーマは古いデータベースと同じままで、新しいコードはエラーを生成します。誰が問題の可能性が高いか教えてもらえますか? どんなアドバイスでも本当に感謝しています。何が欠けているのかわからないので、とてもイライラしています。
2076 次
3 に答える
2
この質問と関連する回答は興味深いものです。したがって、ライブデータベースと移行の維持に関する私の経験を共有したいと思います。
django1.5.5でテスト済み
データベースの初期化:
./manage.py syncdb --noinput
./manage.py migrate
./manage.py syncdb
これでデータベースが作成されました。
アプリの移行を行う:
./manage.py schemamigration myapp --initial
./manage.py migrate myapp --fake
- モデルに必要な変更を加えます
./manage.py schemamigration myapp --auto
./manage.py migrate myapp
于 2015-06-06T21:19:48.187 に答える