Yeah, sorry have been traveling today, my first answer was overly
simplistic because you have the opposite problem of online migrations,
instead of one database version accessed by multiple versions of the code,
you have multiple database versions you want accessed by one version of
code. I think
We have a similar setup (a PostgreSQL schema per tenant), we deal with
different database versions by running different *code versions* - i.e. if
you need a new column you release a new code version which knows how to
deal with the new column. Switching a tenant to that code version runs an