SQL Server: обновление баз данных - PullRequest
1 голос
/ 08 декабря 2008

У нас есть продукт, который использует базу данных Microsoft SQL Server. У нас есть клиенты, использующие различные старые версии продукта.

Как люди пишут / структурируют свои сценарии обновления базы данных в этой ситуации?

Ответы [ 2 ]

2 голосов
/ 08 декабря 2008

Вам нужен набор сценариев исправлений от выпуска к выпуску. В производственных системах с оперативными данными это немного сложнее, поскольку вам, возможно, также придется манипулировать данными в этих сценариях.

Redgate SQL Compare Pro довольно хороший инструмент для генерации этих сценариев или выполнения функций контроля качества в сценариях (очевидно, вам не следует использовать его для обеих ролей). Поскольку у вас есть действующие данные о клиентах, вам придется провести регрессионное тестирование обновлений.

Я не думаю, что есть простой способ сделать это. Вам нужно будет разработать скрипт и протестировать любые манипуляции с данными, которые он выполняет. Выполните тесты от версии к версии для некоторого полезного набора обновлений. Ключевым моментом здесь является организация рабочей среды для тестирования зеркал, в которой вы можете протестировать исправления перед их применением к работающей системе.

P.S. не забудьте выполнить резервное копирование и протестировать восстановление в производственной базе данных, прежде чем вы действительно запустите скрипт исправления, но вы уже это знали; -}

0 голосов
/ 08 декабря 2008

У нас есть один сценарий SQL, который выполняет как чистую установку, так и обновление. После установки SQL Express или полноценного сервера SQL мы запускаем этот скрипт, который выполняет следующие действия:

  1. Создает таблицы, если они не существуют с помощью команды CREATE TABLE.
  2. Удалить и воссоздать все хранимые процедуры
  3. Вносить изменения в таблицы, такие как изменения полей, добавления полей и т. Д.

Мы продолжаем расширять этот сценарий, поэтому каждый выпуск будет добавлять только этот файл сценария SQL. Это означает, что мы можем запустить этот сценарий в производственных системах, чтобы обновить их до последней схемы, использовать сценарий для новых установок, чтобы создать схему с нуля.

Таким образом, мы гарантируем, что скрипт обновления поднимет даже самую старую установку до последней версии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...