2014-01-28 7 views
11

Ich gehe durch die Django-Dokumentation. Und hier habe ich eine Situation. In eines der Dokumentation, wie ich höreWas ist der Unterschied zwischen Syncdb und migrieren?

python manage.py migrate 

Und in den anderen

python manage.py syncdb 

kann ich nicht den ersten zu tun (Fehler: kein Migrate Befehl gefunden.), Aber zweiten funktioniert gut für mich. Ist das ein Versions-Problem oder muss ich mich um etwas anderes kümmern?

+0

könnten Sie die Dokumentation Link teilen Sie sprechen? – user2245644

+0

https://docs.djangoproject.com/de/1.6/intro/tutorial01/ – Nabin

Antwort

6

Der Befehl migrate gehört zu einer Anwendung namens south (http://south.aeracode.org/).

Von der Website:

This is South, intelligent schema and data migrations for ​Django projects.

Vor Django == 1,7 Sie hatte einen Dritten Anwendung zu installieren, um Datenbankmigrationen durchzuführen.

Bitte siehe Dokumentation bei readthedocs

7

Der Befehl migrate ist neu in der kommenden Django 1.7, die noch nicht veröffentlicht wurde. Für frühere Versionen können Sie syncdb oder die externe App South verwenden.

Wenn Sie die Dokumentation lesen, verwenden Sie den Switcher der Dokumentationsversion, um die richtige Version auszuwählen.

Zum Beispiel verwendet die aktuelle 1.6 Tutorialsyncdb, aber die dev tutorial (für die kommende 1.7 geschrieben) verwendet migrate.

+0

Danke !! Ich habe Zeit damit verbracht. Kannst du mir ein bisschen nach Süden erzählen? "pip install south" in virtualenv wird das Paket bekommen ?? – Nabin

+0

und ja, ich habe versucht, die neueste Version zu installieren, indem ich "pip install django == 1.7". Ich konnte das nicht tun .. Können Sie mir das auch erklären ?? – Nabin

+0

Die [South Docs] (http://south.readthedocs.org/en/latest/) sind besser als jeder Kommentar, den ich hier schreiben kann. Wenn Sie nicht weiterkommen, stellen Sie eine andere Frage. – Alasdair

2

Es hängt davon ab, welche Version der Dokumentation Sie lesen. migrate ist der Befehl von South, der bis zur letzten (aktuellen Entwicklungs- oder Entwickler-) Version von django eine separate App war. Es wird endlich in Django integriert (im Prinzip wird es von jedem Django-Projekt als selbstverständlich verwendet, daher lohnt es sich, es weiterzulesen).

Unten rechts auf der django-Dokumentationsseite gibt es einen Selektor, über den Sie zwischen verschiedenen Versionen von Django wechseln können. Wenn Sie nach Informationen zu Ihrem Projekt suchen, sollten Sie die Version von Django verwenden Sie verwenden derzeit.

Verwandte Themen