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 Alembic migration which adds the column to their schema. Each request is routed to a particular code version depending on the tenant's database schema.
This way the old code never sees the new database structure and vice versa. -- SQLAlchemy - The Python SQL Toolkit and Object Relational Mapper http://www.sqlalchemy.org/ To post example code, please provide an MCVE: Minimal, Complete, and Verifiable Example. See http://stackoverflow.com/help/mcve for a full description. --- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sqlalchemy+unsubscr...@googlegroups.com. To post to this group, send email to sqlalchemy@googlegroups.com. Visit this group at https://groups.google.com/group/sqlalchemy. For more options, visit https://groups.google.com/d/optout.