Поскольку все базы данных должны быть, источник для нашего является имеющим версию с помощью управления исходным кодом. База данных обновлена с помощью ряда сценариев SQL, сгенерированных инструментом сравнения Красного Логического элемента, который является по существу тем же как миграция в многочисленных платформах миграции базы данных, которые, кажется, недавно возникли.
Но какой смысл 'вниз' миграций в этих платформах? Часто код для миграция чрезвычайно сложна (обычно сложная миграция данных, поскольку функции развиваются), и я изо всех сил пытаюсь видеть цель необходимости записать все это наоборот для 'вниз' одного. Это - конечно, что-то, в чем я никогда не чувствовал потребность. Я пропускаю что-то здесь...?
Похоже, что уместный вопрос здесь:
Я могу подумать Из нескольких причин:
База данных очень велика - сказать несколько сотен ГБ - и ваша компания не может позволить себе время простоя и / или административных расходов, которые будут участвовать в полной восстановлении.
Была введена ошибка, которая не была обнаружена до недели или двух в производство. Если вы никогда не испытывали этого раньше, вам повезло. Как только у вас есть транзакции недели в новой базе данных, вы можете забыть просто восстанавливать от резервной копии.
Ошибка не была обнаружена до месяцев в релиз. Другими словами, вы даже не участвуете резервного копирования, и вы официально в режиме контроля на ущербе / в результате аварийного восстановления. Я никогда не испытывал этого, но я слышал истории. Это страшная мысль - как вы отменяете весь ущерб, который был сделан? В этом случае ваша понижение не может быть идеальным, но все равно может быть лучше, чем альтернатива.
Напротив, возможно, изменения базы данных были тривиальными - добавляя несколько строк здесь, там несколько триггеров. В этом случае накапливается в ответ на сценарию меньше времени, чем восстановление. Возможно, что некоторые вещи, которые заняли часы, чтобы обновить - такие как создание новых индексов или добавления новых столбцов - могут заниматься только секундами для понижения (падение).
Вы развертываете на сайты клиентов. Некоторые из них могут не иметь резервных копий вообще (да, это жалко, но ничего вы не можете сделать с этим). Если один из них нужен откат, это ваш единственный вариант.
Могут быть другие причины иметь сценарии понижения понижению - это только что у меня на вершине головы.
Customer: "Нам не нравится новая версия и мы хотим вернуться к старой версии"
.Если вы обновляете, и впоследствии в вашу базу данных добавляются данные, которые вы хотите сохранить, сценарий отката (если он разработан как таковой) должен добиться этого, тогда как если вы просто восстанавливаете резервную копию вы потеряете.
Но вы можете обойти описанное выше, восстановив резервную копию и используя SQL Data Compare для копирования дополнительных данных.