We're a small development team of about 8 developers working on an ASP.NET MVC 5 and Web API 2 application. Our team is divided up into front-end (AngularJS) and back-end developers.
Our application runs on 2 servers -- Staging and Production -- while active development is on our local machines.
Develop has the newest Entity Framework migrations.
Staging is a little behind on Develop.
Production is behind on Staging.
So we have 3 database-states, Production being the oldest.
Our issue now is that we have 70 migration files, going all the way back to June 2014. Some lesser colleagues have also botched up a few of them, so the history feels very shaky to say the least.
My plan is to reset the migrations. A tricky feat because of the above mentioned versions. We regularly merge branches so we don't want to mess things up.
Thinking about a strategy I feel like I should migrate back to the last successful migration that was performed on Production, since that is the migration history trailing everything else.
Can somebody with experience explain to me how this can be done safely? Maybe somebody has a link to a good article on the subject?
I don't mean standard "How to reset migration history" articles. We're interested in doing it in a team environment and with various versions active.