2010-08-25 1 views
6

Мы работаем с небольшой командой разработчиков и системным инженером, который развертывает программное обеспечение в определенное время.Что такое хорошая практика/инструмент для разработки баз данных MSSQL и управления версиями?

В настоящий момент у нас нет ведущего документа для изменения базы данных. Изменения производятся в промежуточной базе данных и добавляются вручную в производство, когда системный инженер развертывает новую версию.

Мы начали работать с DBDesigner Fork для создания дизайна и создания сценария создания SQL, но мы все еще не удовлетворены этим решением. Решение является неполным, потому что невозможно создать представления и хранимые процедуры в DBDesigner Fork, например.

Мы хотели бы найти практику/инструмент для создания базы данных, хранимых процедур, представлений и т. Д. И изменения версий в Subversion.

Когда создается новая версия программного обеспечения (помечена в SVN), мы должны иметь возможность создавать файл патча для базы данных (например, сценарий SQL).

Каков наилучший способ решения проблем, описанных выше?

ответ

6

Мы являемся производителем солнечной продукции стоимостью 2,5 млрд долларов, которая использует Visual Studio Database Edition для всех наших задач управления базой данных и управления версиями. Это был очень хороший инструмент для нас. Эта версия управляет нашими базами данных с интеграцией TFS, сравнивает ли схема и данные (например, Red-Gate), проверки базы данных и многое другое. Мы не могли жить без него сейчас.

+0

+1 для базы данных VS - даже если это может быть не лучший инструмент, я обнаружил, что он выполняет большую часть того, что мне нужно, например, управление версиями, интеграция с TFS, развертывание в dev/test db и т. Д. Это позволяет вы относитесь к своей БД так же, как к коду, который мне нравится. И это в том, что в VS просто обледенение на торт – InSane

+0

@ In Sane - Абсолютно согласен. Мы также рассматриваем наши артефакты базы данных так же, как исходный код (который они действительно есть). VSDE обрабатывает это очень красиво. –

+0

Хорошо, VS Database выглядит неплохо. Дизайн базы данных должен быть ведущим. Ситуация на сервере базы данных не должна быть ведущей. Это в случае базы данных VS или изменения, синхронизированные с сервером базы данных? – Bamieater

2

Мы используем систему управления версиями для управления версиями. Все изменения баз данных должны выполняться только в сценариях и помещаться в исходное управление как часть ветки кода, которая идет на производство, с остальными изменениями кода для этой версии. Поскольку разработчики не имеют никаких прав на создание или изменение объектов в Prod, это хорошо работает для нас, так как ваши изменения не перемещаются вверх, если они не находятся в скрипте.

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