We have a multi-tenant system with a separate database per tenant (but with the same schema and application code). How can we best to roll out updates to tenants? The deployment process is automated, but I don't particularly fancy having to take the whole system offline while any update scripts are run per tenant db? (particularly if one tenant has some unexpected issues because of data in their system - obviously something we'd aim to avoid).
What strategies have people used successfully for this? If I were to instead run each tenant on a separate website instance that gets upgraded separately - there would be more maintenance overhead, but perhaps more flexibility should issues be encountered upgrading? Not sure which is likely to be less painful in the long run? Thanks.