synopsis:Prints the ALTER TABLE statements for the given appnames.

Django command that scans all models for the given appnames and compares their database schema with the real database tables.

It indicates how columns in the database are different from the SQL that would be generated by Django. This command is not a database migration tool, though it might certainly be of help during migrations. Its purpose is to show the current differences as a way to check or debug your models compared to the real database tables and columns.

Supported Databases

Currently the following databases are supported:

  • PostgreSQL
  • Sqlite3
  • MySQL
  • Oracle

Patches to support other databases are welcome! :-)

Exit Codes

Exit status is 0 if inputs are the same, 1 if different, 2 if trouble.

Example Usage

# View SQL differences for all installed applications
$ ./manage.py sqldiff -a
# View SQL differences for all installed applications using text instead of SQL
$ ./manage.py sqldiff -a -t