Add a new 'upgrade' command for local development.
Review Request #10244 — Created Oct. 19, 2018 and submitted
manage.py upgradecommand takes care of running
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
Backup behavior can be turned off with
--no-backup, and confirmation
can be turned off with
Tested this with default behavior on SQLite3 and MySQL. Verified that
upgrades occurred with SQLite3.