If you go with the separate-database model, how do you manage database deployments and syncing it with application deployments?
Example 2: (which is much better IMO) deploy the new version, but keep the older versions running. Sync/migrate one-by-one and start the new version when ready.