Получение sourcecontrol для хранимых процедур - PullRequest
4 голосов
/ 25 марта 2010

Сначала технические вещи:

Мы используем VS 2008 pro и работаем с сервером MS SQL 2008. Для sourcecontrol мы используем Subversion.

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

Однако, чтобы это работало, оно должно быть бесшовным, иначе разработчики просто забудут о включении процедур в свои коммиты.

Так есть ли хорошие решения для этого?

Я уверен, что мы не можем быть единственной компанией с этой проблемой: -)

Ответы [ 6 ]

3 голосов
/ 25 марта 2010

В Visual Studio 2008 вы можете создать проект базы данных, который позволит вам хранить все ваши хранимые процедуры и любые другие операторы SQL в хорошем проекте, который затем можно разместить в Subversion.

3 голосов
/ 25 марта 2010

В нашей компании мы используем Team Foundation Server для системы команд Visual Studio для отслеживания версий кода и версий хранимых процедур; хранимые процедуры обрабатываются так же, как и любой другой источник кода.

База данных не синхронизируется автоматически с TFS; Итак, для каждого нового SP вам нужно:

  1. Создать его
  2. Добавить его в TFS
  3. Заезд
  4. Добавить в базу данных

если вам нужно изменить:

  1. Проверить на TFS
  2. Изменить источник
  3. Регистрация на TFS
  4. Изменить базу данных

Когда нам нужно перейти к производству, мы формально просим dba синхронизировать новую / модифицированную хранимую процедуру с нашей производственной БД, загружая и применяя последнюю версию из TFS.

Возможный сценарий проблемы:

  1. Ленивые разработчики (как и я) модифицируют SP прямо на Sql сервер и не выравнивать код на TFS
  2. Сумасшедшие разработчики (как и я) забывают проверить последняя исправленная версия и выравнивание Dba прослушивающийся в производстве
2 голосов
/ 25 марта 2010

В настоящее время я использую бесплатный инструмент под названием SQL Source Control от Red-Gate, и он отлично работает, он подключается к SSMS. Вот ссылка с дополнительной информацией http://www.red -gate.com / products / SQL_Source_Control / index.htm Я должен упомянуть, что это в настоящее время в бета-версии, но прекрасно работает с SVN и TFS.

1 голос
/ 25 марта 2010

Если вы следуете гибкому методу, я предлагаю добавить в определение Done, Done «Не забудьте зафиксировать SP», чтобы оно стало естественной частью вашего процесса.

0 голосов
/ 25 марта 2010

У нас есть программа, которая вносит любые необходимые изменения в версию базы данных при установке / обновлении программы.

Таким образом, для развертывания любого кода SQL он должен быть включен в эту программу (в нашем случае это ресурсы). Это позволяет автоматическое управление версиями и добавление кода в поддерживаемую VS систему контроля версий.

См. более подробное описание нашей системы за ссылкой.

0 голосов
/ 25 марта 2010

Мне очень нравится Visual Studio Team Edition для специалистов по базам данных, который теперь можно бесплатно использовать, если у вас есть Visual Studio Team Edition для разработчиков . Это позволит вам работать с объектами базы данных в автономной модели, которая может быть возвращена в систему контроля версий. Автономная модель затем используется для автоматического создания сценариев развертывания в базе данных.

Единственным недостатком является цена.

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