djangoがmigrateをするときにテーブルがすでに存在する処理

657 ワード

Webを開発する際、以前に存在していたプロジェクトであれば、プロジェクトをダウンロードした後、テストライブラリのデータを使用するために、sqlite 3などのテストライブラリ全体をそのまま本機に持ち込みます.この場合、実行の順序が間違っている場合、migrateを実行するときにデータベースにすでに存在するエラーが発生しやすくなります.
django.db.utils.OperationalError: (1050, "Table 'xxx' already exists")
この場合、データテーブルがすでに存在する場合は、migrateで--fake-initialを直接使用して処理します.
python manage.py migrate --fake-initial

外部キーが存在する場合は、複数のテーブルを初期化し、一部のデータテーブルが作成され、一部が作成されていない場合は、--fakeを使用して処理できます.
python manage.py migrate --fake 

参照先:https://stackoverflow.com/questions/25924858/django-1-7-migrate-gets-error-table-already-exists