RedGate программно связать БД с SVN - PullRequest
3 голосов
/ 03 марта 2012

В настоящее время мы рассматриваем продукт Source Control в составе автоматизированного центра развертывания разработчиков.

Мы хотели бы иметь возможность программно связать БД с системой контроля версий, а не полагаться на то, что разработчик сделает это. Возможно ли это с RedGate SVN? Если да, то как?

Спасибо David

Ответы [ 2 ]

4 голосов
/ 05 марта 2012

Вы можете использовать такой продукт, как OffScale DataGrove , который будет делать полные снимки всей вашей базы данных (данные и схема) и очень легко интегрируется с выходом из системы управления источниками.

Просто сделайте хук, чтобы пометить базу данных при фиксации, вызвав следующую команду:

datagrove tag -n=<svn-tag-id>

И если вы хотите автоматически получать базу данных, которая соответствует фиксации при извлечении, используйте ловушку SVN для выдачи следующего:

datagrove unload
datagrove load -n=<svn-tag-id>

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

3 голосов
/ 04 марта 2012

Вы должны иметь возможность делать то, что вы ищете, с помощью командной строки Red Compare Gate SQL Compare Pro.Он может создавать сценарии базы данных и изменять только те файлы, которые связаны с измененными объектами в базе данных.

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

Если вы беспокоитесь о том, что они забыли зарегистрироваться, настройте среду непрерывной интеграции, которая перестраивает базу данных из репозитория и запускает для нее тесты.Это гарантирует, что все объекты находятся в управлении исходным кодом.

Если у вас еще нет автоматических тестов для кода вашей базы данных, взгляните на tSQLt.Это среда тестирования для SQL Server, которая упрощает написание тестов.Это открытый исходный код, и вы можете получить его здесь: tSQLt - инфраструктура модульного тестирования базы данных для SQL Server .На этом сайте также содержится много информации о том, как писать тесты и как настроить непрерывную интеграцию с tSQLt.

...