My question consists of several questions. I often read about companies that deploy a small set of functions for a selected number of customers using a live "database". Ruby on Rails and its ecosystem have database deployment and migration tools for deploying or rolling back such features in a live production or staging environment.
My question is, how is this done for an asp.net application (specifically mvc)? How do you test your recently released features against live data? Do you have tools to modify an existing database and, if necessary, roll back changes? Do you back up before deployment?
Update
Maybe I should point out that my question is not entirely clear, getting more answers here will help me better formulate the question. To make it easier, I will describe the situation that I usually observe with some of my clients.
My clients have a large rollout of popular web applications. They do not have staging / quality control / testing servers. (yes, this is not optimal). The data that includes their applications is images, xml files, user downloads, and data on Sql Server. Having several records, their production database and several dummy files, in my opinion, is not a substitute for testing with real data. How would you develop a workflow that can create an acceptable environment for simulating a production environment before you start living?
Another update
, (, ), Q A. , , , Q A . , .
PS. - , , , !