syncdb
ist aufgrund des mit django 1.7 eingeführten Migrationssystems veraltet .
Jetzt können Sie Ihre Änderungen mit verfolgenmakemigrations
. Dadurch werden Ihre Modelländerungen in Python-Code umgewandelt, damit sie für andere Datenbanken bereitgestellt werden können. Wenn Sie weitere Änderungen an der Datenbank vornehmen müssen, können Sie Datenmigrationen verwenden .
Nachdem Sie die Migrationen erstellt haben, müssen Sie sie anwenden : migrate
.
Also anstatt zu verwenden syncdb
, sollten Sie makemigrations
und dann verwenden migrate
.
Workflow für die Entwicklung, nachdem Sie etwas an Ihren Modellen geändert haben:
./manage.py makemigrations
./manage.py migrate
Und auf Ihrem Produktionssystem:
./manage.py migrate
Bonus: Sie müssen nicht migrate
für jede Änderung laufen . Wenn Sie mehrere Änderungen noch nicht angewendet haben, führt django sie in der für Sie richtigen Reihenfolge aus.
syncdb has been deprecated and replaced by migrate