Мой вопрос состоит из нескольких вопросов. Я часто читаю о компаниях, которые развертывают небольшое подмножество функций для определенного количества клиентов, использующих живую «базу данных». Ruby on Rails и его экосистема имеют инструменты развертывания и миграции баз данных для развертывания или отката таких функций в реальной производственной или промежуточной среде.
Мой вопрос, как это сделать для приложения asp.net (в частности, mvc)? Как вы проверяете свои недавно выпущенные функции на реальных данных? Есть ли у вас какие-либо инструменты для изменения существующей базы данных и отката изменений при необходимости? Делаете ли вы резервные копии перед развертыванием?
Обновление
Может быть, я должен указать, что мой вопрос не совсем ясен, получение большего количества ответов здесь поможет мне лучше сформулировать вопрос. Чтобы упростить ситуацию, я опишу ситуацию, которую я обычно наблюдаю с некоторыми из моих клиентов.
У моих клиентов большие развертывания популярных веб-приложений. У них нет промежуточных / QA / тестирующих серверов. (да это не оптимально). Данные, из которых состоят их приложения: изображения, XML-файлы, пользовательские загрузки и данные на Sql Server. По моему мнению, наличие нескольких записей их производственной базы данных и нескольких фиктивных файлов не является заменой тестирования на реальных данных. Как бы вы разработали рабочий процесс, который может создать приемлемую среду для имитации производственной среды перед началом работы?
Другое обновление
Мне все еще интересно, какие инструменты или процедуры вы можете использовать, чтобы сделать реалистичный снимок ваших производственных данных (файлов, базы данных), чтобы вы могли создать свою собственную среду вопросов и ответов. Вся база данных и относящиеся к ней файлы слишком велики, чтобы полностью копировать их на сервер вопросов и ответов. Но если вы просто скопируете первые несколько строк каждой таблицы, они могут не иметь никакого отношения друг к другу и приводить к случайным ошибкам или неожиданному поведению повсеместно и не отражают реалистичную производственную базу данных.
PS. Если кто-то понимает, к чему я стремлюсь, и у меня есть лучший способ сформулировать мой вопрос, не стесняйтесь редактировать мой!