2016-02-17 12 views
6

Ich arbeite in Django 1.9, und ich versuche, die SQL zu erhalten, die verwendet werden würde, um Datenbanktabellen von models.py zu erstellen.Äquivalent von sqlall in Django 1.9?

Es scheint, dass in früheren Version von Django man tun könnte:

python manage.py sqlall <app_name> 

Aber das scheint nicht mehr der Fall zu sein. Ich bekomme nur Unknown command: 'sqlall'. Nichts in den Dokumenten scheint dies zu bieten.

Wie kann ich sehen, wie meine Modelle in SQL umgewandelt werden?

Antwort

7

Es ist deprecated in Django 1.9:

Die SQL-Management-Befehle für Anwendungen ohne Migration, SQL, sqlall, sqlclear, sqldropindexes und sqlindexes wird, entfernt werden.

Der nächste Befehl, den Sie verwenden können, ist sqlmigrate:

Druckt die SQL für die benannte Migration. Dies erfordert eine aktive Datenbankverbindung, die zum Auflösen von Constraint-Namen verwendet wird. Dies bedeutet, dass Sie das SQL gegen eine Kopie der Datenbank generieren müssen, die Sie später anwenden möchten.

können Sie den Namen Migration verwenden 0001_initial für die Erstellung Skript, zum Beispiel:

python manage.py sqlmigrate myapp 0001_initial