You can't restart all of your web services atomically. What happens if two web services are running two different versions for a couple seconds?
If you want to get super fancy, always compatible database migrations. Have both versions live, migrate to the new schema in 3 steps:
1. Old version
2. Old version/new version both live.
3. New version live after step 2 is confirmed as fully done.
Right, I was just pointing out the flaw in the parent commenter's statement. You can't do "code version is tied to your database version" - that's just not a thing.