We have a database used by legacy monolithic web application which is often changing by the team of database developers. Other dev teams have a task to pull out a lot of functionality of that legacy web app into ASP.NET Core 2.1 WebApi microservices. Each microservice uses that database and "database first" approach. So we have a lot of models in our microservices. But legacy web app living it's own life and it's database is often modified by db devs. So it's breaking our microservices models. We can't use migrations, because it will break our legacy web app which we cannot turn off for now.
So we decided to use "model first" approach and custom SQL Views, which implements such a contract between custom EF Core 2.1 QueryTypes and database tables. So if database developers will change database table, for example delete a column or change column type or something like that, they will reach a message telling that there is a view with that column so you couldn`t simply delete it. That approach gives us such a protection level for modifying that parts of schema which used in microservices models.
So legacy web app with its database definetely should be able to be modified because of the business needs. So legacy monolithic web app with its database is the prior. But these modifications are breaking our microservices models but of course we don't want it.
What is the best practice for handling such scenario?