Как я могу управлять версиями схемы базы данных? - PullRequest
3 голосов
/ 29 июня 2011

Есть ли в наличии (дешевые или FLOSS) контроль версий схемы БД SQL Server 2008?

Ответы [ 3 ]

7 голосов
/ 29 июня 2011

Вот хорошая статья Джеффа Этвуда о управлении версиями базы данных

Вы можете использовать Team edition для профессионалов баз данных для этой цели

Вот список инструментов , которые вы можете приобрести, которые также можно использовать:

Red Gate SQL Сравнить с $ 295.

DB Ghost от $ 195

Диспетчер изменений SQL $ 995 за экземпляр.

Эффекты SQL Стандарт ясности под ред. от $ 139

SQLSourceSafe от 129 долл. США

sqlXpress Различный контакт для цены. : - (

Менеджер изменений Embarcadero контакт для цены. : - (

Apex SQL Diff от $ 399

SQL Source Control 2003 от 199 $

SASSI v2.0 professional от $ 180

Evorex Source # shareware или $ 299 + (противоречивые отчеты!)

Редактировать Только что нашел этот пост, который объясняет управление версиями через SVN: Управление версиями базы данных SQL Server

1 голос
/ 29 июня 2011

По моему опыту, в корпоративной среде нет простого варианта.

Три метода ниже являются основными (независимо от используемого набора инструментов).

1) Записать всю схему в файл и сохранить файл в хранилище

ПРОФИ: Легко

ПРОТИВ: Большой файл - трудно редактировать вручную -трудно понять, что изменилось с последней версии - не может развернуть его, поэтому потребуется какой-то механизм для подготовки сценария DIFF между системами Dev и Test / Live

2) Дамп каждого объекта базы данных в отдельныйфайл, хранящийся в хранилище.

PROS: Очень легко увидеть, что изменилось.Может легко создавать сценарии развертывания для большинства объектов (хотя некоторые вещи все еще требуют сценария DIFF, например, изменения определения столбца)

CONS: запускать сценарии в определенном порядке - управление этим процессом может быть довольно сложным.

3) Обрабатывать каждое изменение как отдельную операцию с помощью собственного SQL-скрипта с последовательной нумерацией.

PROS: разработчикам легко создавать сценарии, те же сценарии можно запускать для каждой платформы (теоретически)

CONS: Кошмар для управления - заказ может стать проблемой, очень труднойчтобы увидеть, что изменилось в выпуске, или когда изменился данный объект.

Запустив все 3 варианта, я бы сказал, что с 2 было приятно работать, но сначала потребовалось много времени для настройки- получение всех скриптов, выполненных в правильном порядке, заняло много времени - и это все еще требовало использования инструмента Различия базы данных для генерации скриптов для UAT / Live.Поэтому я бы порекомендовал смесь между 1 и 2.

1 голос
/ 29 июня 2011

Создать проект базы данных для базы данных в Visual Studio. Проверьте этот проект в библиотечной системе, такой как SVN или Team Foundation Server.

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