Automating deployment of parallel multitenant schemas


Say I have a system where each tenant has its own schema, and all those schemas contain identical table structures (and views, indexes, triggers etc).   (There are also are a handful of other schemas that are different which are used across all tenants.)

I’d like to be able, during a command-line liquibase deployment to loop through all the tenant schema-names and apply a generic-tenant changeset to each of their schemas in turn. 

It seems like I could in theory do some shell scripting to wrap around multiple calls to Liquibase to do that (with each tenant’s schema then containing its own databasechangelog; I have no problem with that) with different properties files or command-line arguments per tenant, and the wrapper shell script fetching the tenant/schema-name list and doing the looping calling Liquibase.  

But before I go down that route, is there some more native Liquibase way to do looping or specify a group of schema I would like to apply a XML changelog file to each of a specified set of schemas (with separate databasechangelogs then appearing in each schema)? 

(I know about CORE-1472, but I don’t know enough Java to see how to get it to address my use case and I’m not sure it applies anyway.) Thanks!


Thanks much Nathan. Appreciate it!