If you're using Varnish for caching then it's also possible to serve 'stale' cache entries whilst the upgrade is being done.
I have a few customers that use this when doing schema changes. Obviously, this relies on cached data being useful for your site, but for many applications a stale cache is massively preferable to an error message.
I have a few customers that use this when doing schema changes. Obviously, this relies on cached data being useful for your site, but for many applications a stale cache is massively preferable to an error message.
http://varnish-cache.org/wiki/VCLExampleGrace