Add a new 'upgrade' command for local development.
Review Request #10244 — Created Oct. 19, 2018 and submitted
The new
manage.py upgrade
command takes care of runningsyncdb
and
evolve
, running both in the same session so that we can take advantage
of the new protection from extension database modifications interfering
with the upgrade process.This new command is also more helpful, providing confirmation before
making any changes, and automatically backing up the configured SQLite
database (if used) so that the user can easily revert back. The backup
is stored at the location of the original database, with a timestamp
appended.Backup behavior can be turned off with
--no-backup
, and confirmation
can be turned off with--noinput
.
Tested this with default behavior on SQLite3 and MySQL. Verified that
upgrades occurred with SQLite3.Tested both
--no-backup
and--no-input
.