I'm planning to push a new web application to an Azure Web App Service (former Azure Website). I'd like to make use of the deployment slots to be able to test my deployment before pushing it to production. That's all fine as long as there is no DB schema change require. But if there is a schema change I can't have two software versions operating on the same db version. Since I'm using EF Migrations, the push to the staging slot would instantly result in a DB update to the latest version.
So my question is, whether there is any use of deployment slots when a db migration is required?
How is it done for large SaaS providers. Are they performing a DB migration instantly with the new version? That would surely cause some downtime.
I can only think of rather complex solutions to this problem, is there anything simple?