Don't drop scheme cache tables before updating.
It can take a few seconds to create the cache tables - if the table is
dropped and recreated this can result in an error if somebody is
querying via the web interface at that moment.  Instead, we can create a
new table named with a random suffix, then drop the old table and rename
the new one as a single transaction.