Süd mit django 1.7

8

Ich verwende django 1.7 für meine Anwendung. Ich stieß auf mehrere Probleme mit der Migration. Jedesmal, wenn ich versuche, einen Feldnamen in Modellen zu ändern, der ein Fremdschlüssel ist, bricht er ab. Die einzige Lösung wäre, zur Datenbank zu gehen und sie zu reparieren, und sie führen migrate gefolgt von syncdb aus. Wie löse ich diese, wenn meine Anwendung größer wird, und ich werde bald mehr Zeit damit verbringen, die Datenbankfehler zu beheben, wenn sich mein Schema ändert. South wird nicht für django 1.7 unterstützt und hat eine eigene Migration, die nicht mächtig ist (ich bin mir nicht sicher, nur ein Anfänger)

    
theblackpearl 08.10.2014, 18:27
quelle

1 Antwort

8

Der Migrationsrahmen in Django 1.7 basiert auf Süd. Wenn Sie ein Upgrade durchführen, sollten Sie Folgendes lesen:

Ссылка

aus der Dokumentation:

  

Aktualisieren von Süden Wenn Sie bereits Migrationen haben   erstellt mit South, dann den Upgrade-Prozess zu verwenden   django.db.migrations ist ziemlich einfach:

     

Stellen Sie sicher, dass alle Installationen mit ihren Migrationen auf dem neuesten Stand sind. Löschen   'Süden' von INSTALLED_APPS. Löschen Sie alle Ihre (nummerierten) Migration   Dateien, aber nicht das Verzeichnis oder init .py - stellen Sie sicher, dass Sie das entfernen   .pyc Dateien auch. Führen Sie python manage.py Makemigrationen aus. Django sollte sehen   die leeren Migrationsverzeichnisse und führen neue Migrationen im   neues Format. Führen Sie python manage.py migrieren aus. Django wird das sehen   Tabellen für die anfänglichen Migrationen sind bereits vorhanden und markieren sie als   angewendet, ohne sie auszuführen. Das ist es! Die einzige Komplikation ist, wenn   Sie haben eine zirkuläre Abhängigkeitsschleife von Fremdschlüsseln; in diesem Fall,   makemigrations kann mehr als eine anfängliche Migration machen, und Sie werden   Sie müssen alle als angewendet markieren mit:

     

python manage.py migrate --f \ u00e4hlen Sie hieraus

    
Eric Acevedo 08.10.2014, 19:59
quelle

Tags und Links