2014-09-19 10 views
39

Ich versuche, eine Migration gelten, aber ich erhalte die Fehlermeldung:django 1.7 Migrate erhält Fehler „Tabelle ist bereits vorhanden“

django.db.utils.OperationalError: (1050, "Table 'customers_customer' already exists")

ich diese erhalten, indem Sie den folgenden Befehl eingeben:

python manage.py migrate 

Meine Kundentabelle existiert bereits, also was mache ich, damit die Migration das weiß, nicht einen Fehler, und führe meine Änderung an meinem Modell aus?

Ich lief dies auf meiner lokalen Umgebung mit lokaler Datenbank ohne Probleme. Es ist, als ich meine Datenbank auf Produktion zeigte und lief migrate darüber, dass ich diesen Fehler bekomme.

+0

Eine Frage - sollten Sie nicht die django-Migrationen werden anstelle von Süden für django 1.7? – karthikr

+0

Dieser Fehler ist ein Django-Migrationsfehler. –

+0

@karthikr Ich verwende Django Migrationen. Ich habe einen South-Tag zu dieser Frage verwendet, weil ich dachte, jemand in dieser Community könnte die Antwort kennen. – Atma

Antwort

78

Wenn Sie die Tabelle in der Datenbank erstellt haben, können Sie laufen

python manage.py migrate --fake <appname> 

Mark Migrationen laufen ohne sie tatsächlich

läuft oder wenn Sie einige Aktionen in Ihrer Migration zu vermeiden, Sie können die Migrationsdatei im Verzeichnis app/migrations bearbeiten und die Vorgänge kommentieren, die Sie bei der Ausführung der Migration nicht ausführen möchten.

Docs: https://docs.djangoproject.com/en/1.8/topics/migrations/#upgrading-from-south oder python manage.py help migrate

+7

der Befehl ist eigentlich python manage.py migrieren --fake Atma

+0

yep, mein Fehler, ich vergesse die .py – elmonkeylp

+0

Könnten Sie bitte überprüfen, ob die letzte Bearbeitung Ihres Beitrags in Ihrem Sinne war? – bummi

12

Sein wirklich python manage.py migrate --fake <appname>

Verwandte Themen