2010-03-25 2 views
4

Прежде всего технические данные:Получение исходного контроля на хранимых процедурах

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

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

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

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

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

ответ

2

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

+0

Я проверю его завтра это выглядит очень многообещающе :-) – Steffen

+0

На прошлой неделе произошло много всего, поэтому у меня не было времени на тест-драйв это еще. Тем не менее, я получаю это прямо сейчас :-) – Steffen

+0

Gotta передайте его вам - этот инструмент - все, о чем я мечтал! Это так обтекаемо и показывает приятные маленькие значки, если вам нужно что-то зафиксировать и т.д. Очень очень приятно :-) – Steffen

3

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

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

  1. Создать его
  2. Добавьте его в TFS
  3. Регистрация
  4. Добавить в базу данных

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

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

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

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

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

Очень хорошая разработка :-) – Steffen

3

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

+0

Очень приятно - Как мне удалось никогда не заметить, что тип проекта я не знаю. Однако вопрос: могу ли я каким-то образом синхронизировать проект с моей текущей базой данных, или мне нужно вручную создать каждую отдельную хранимую процедуру в VS? – Steffen

+1

Если у вас есть версия для разработчиков баз данных, тогда да: o) Подумайте, эта ссылка может вам помочь: http://www.vitalygorn.com/blog/post/2008/01/Handling-Database-easily-with-Visual-Studio- 2008.aspx –

+0

Aw, к сожалению, у нас есть только «стандартная» профессиональная версия :-( Но спасибо за ссылку еще :-) – Steffen

1

Если вы следуете гибкому методу, я предлагаю вам добавить «Dont forget to commit SPs» в определение Done, Done, чтобы оно стало естественной частью вашего процесса.

+0

К сожалению, мы не используем проворный, иначе я полностью согласен :-) – Steffen

0

Я очень люблю Visual Studio Team Edition для специалистов по базам данных, который теперь можно использовать, если у вас есть Visual Studio Team Edition for Developers. Это позволит вам работать с объектами базы данных в автономной модели, которая может быть проверена в исходном элементе управления. Затем автономная модель используется для автоматического создания сценариев развертывания в базе данных.

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

+0

Боюсь, цена запретит нам использовать этот подход :-( – Steffen

0

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

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

См. more in-depth description of our system по ссылке.

+0

Да, что-то самодельное, похоже, является самым жизнеспособным решением, если компания не хочет платить за VS Team Edition. К сожалению, для начинающих приложений требуется время для разработки :-( – Steffen