<blockquote class="gmail_quote" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">In one of my current projects, the implementation of one of the models is changing a reasonable amount. There will be a batch of new fields and a couple that are no longer required.</blockquote>
<div><br></div><div>The first thing I'd consider is do you really want to remove the data?<div>If you don't, then just keep it there.</div><div><br></div><div>Secondly, what is the real chance that you are going to want to revert this migration?</div>
<div><br></div><div>If its just a "in case of disaster" then I suggest before you run the migration,</div><div>take the site down, do a db dump, and then migrate</div><div>(this is my usual process anyway)</div>
<div><br></div><div>If your database is too big to dump and rebuild,</div><div>then I suggest you take down the app</div><div>stop replication</div><div>and leave the replica ready to failover in the case of disaster.</div>
<div><br></div><div><div>If you just want to keep the data for archiving purposes</div><div>(maybe there's a 10% chance that in the future someone will ask you to query it)</div><div>then take a dump before you do the migration and archive it.</div>
<div><br></div><div>I guess it depends on what this data is</div><div>and why you're removing it.</div><div><br></div><div>The simple answer would be</div><div>"if you are afraid of losing it, then don't remove it"</div>
</div></div><div><br></div><div>A few extra columns aren't going to do too much harm</div><div>after a week or so when you're happy you could remove them.</div>