2010-01-07 5 views
3

Как вы, ребята, поддерживаете хранимые процедуры? Я хотел бы сохранить их версии по нескольким причинам.Поддержание хранимых процедур в контроле источника

Я также создам cruisecontrol.net и буду в эти выходные для автоматизации сборки.

Я думал о кодировании того, что создавало бы скрипты create для всех схем таблиц/sprocs/udf/xml в моей базе данных разработки. Затем эти сценарии будут выполняться и обновлять их в контроле источника каждые пару часов ... В идеале я хотел бы сделать это своего рода плагин/модуль для cruisecontrol.net.

Любые другие идеи?

ответ

3

Мы используем инструмент SQL Toolbelt от Red Gate для этой цели. Работает как шарм.

http://www.red-gate.com/

+0

Я использую данные sql сравнения Red Gate и данные sql, чтобы развернуть изменения из одной среды в другую. И да, это (imo), безусловно, лучший инструмент для этого. Но у них есть компонент, который создает базы данных версий сценариев? – dub

+0

Да, и есть несколько способов сделать это. Можно создавать скрипты, которые автоматически проверяются с помощью SQL Compare или использовать SQL ChangeSet (мы используем последний подход). Они слишком рано выпускают еще одну часть программного обеспечения в качестве автономного приложения с интеграцией Management Studio. http://www.red-gate.com/Products/SQL_Source_Control/index.htm Зная другие продукты Red-Gate, я уверен, что это тоже будет хорошо. –

3

Каждый объект, хранимая процедура или иным способом, а также изменение схемы обрабатывается сценария (текстовый файл) под контролем подрывной. Так что, как и любой другой файл в вашем проекте. Изменения в объекте/схеме производятся путем выполнения этих сценариев в отношении соответствующей базы данных. Наш процесс сборки объединяет их в один большой скрипт для удобства. Сценарии изменения схемы написаны таким образом, чтобы их можно было повторно запускать без предупреждений/ошибок (если не существует ... exec ...)

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

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

Смежные вопросы