On 04/03/20, Rory Campbell-Lange (rory@campbell-lange.net) wrote:
> We have many databases of the same type separated for data governance
> reasons. They, however, share the same web front-end code.
>
> Presently, replacing functions and performing data updates on the
> databases in series often executes across all databases in less than a
> minute. (The updates are currently done with simple sql files connecting
> to each database and then loading a stub file pointing to each function
> to drop and reload, and running the data update queries.)
>
> However, for larger updates, the time when the front end code is
> out-of-step with the database can cause end-user problems.
For information, following the very helpful advice here, we intend to
proceed as follows, using a rolling upgrade methodology:
for each database:
* upgrade the functions and sql
* on success, callout haproxy to switch the client from web code
version old to new
* else investigate the upgrade failure
We're planning to use postgres for recording state.