Regarding database upgrades - if you take a look at this PR (https://github.com/WebPA/Source/pull/10) which was initially to increase a DB column size, I have added in the phinx migration framework to perform db migrations like you describe. (https://phinx.org/). This would currently be a sysadmin task rather than something that happens through the UI.
These migrations can also edit the file system e.g. to add additional lines to existing config files if that's what the upgrade requires.
To include this I also added the use of composer https://getcomposer.org/ as a dependency manager (to get the phinx tooling). If we like this approach we could use this for other dependencies (although WebPA doesn't appear to have many/any that I can see in the codebase).
Turning applications into things that could be automatically upgraded used to be my full-time job before I joined University of Leicester so if time allows and we're interested in this, I'd be happy to help out