2010-08-24 2 views
10

Глупо звучащий вопрос, я знаю ... Позвольте мне сначала заложить фундамент.Как разработать TSQL в проектах Visual Studio 2010 Database

Я успешно создал проект базы данных, состоящий из сотен таблиц, хранимых процедур, индексов, et.al. которые составляют нашу производственную базу данных.

Я успешно добавил решение для управления исходным кодом (TFS).

Я сделал изменение (как тест) для некоторых объектов и сгенерировал сценарий развертывания, и вся система очень впечатляет, я должен сказать. Но, похоже, сила VS 2010 с точки зрения БД составляет развертывание, и не обязательно развитие.

Я полностью озадачился повседневным рабочим процессом, связанным с разработкой базы данных/TSQL с помощью Visual Studio. Предположим, мне нужно добавить несколько столбцов в таблицу и изменить связанные хранимые процедуры для возврата/обновления этих данных для этих столбцов.

Хотя достаточно легко изменить все сценарии в моей модели базы данных, я бы хотел, чтобы их можно было изолировать от базы данных dev, где я могу провести некоторое тестирование ... Но это так же просто, как не обновлять proc, если он существует, без ручного изменения сценария на ALTER (или добавление кода DROP до CREATE). Необходимость делать это один или два раза не является проблемой, но в реальной среде разработчиков мы делаем это в течение всего дня.

Возможно, ответ заключается в частом развертывании сервера dev, поскольку я отлаживаю и вношу изменения в procs, например? Довольно немного накладных расходов; Я могу выполнить необходимые скрипты вручную через несколько секунд, создание и развертывание занимает несколько минут. Плюс, если трое из нас разворачивают различные изменения в Dev DB, не будем ли мы перезаписывать изменения друг друга?

Извините, что так долго, но я не могу не думать, что мне здесь что-то не хватает.

Есть ли какие-либо книги/учебные пособия/веб-семинары, демонстрирующие этот тип подхода к реальной разработке?

ответ

6

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

Здесь, в Red Gate, у нас было множество запросов, чтобы заставить SQL Source Control поддерживать проект Database Project, который позволит разработчикам использовать «интерактивную» модель разработки, в то же время пользуясь возможностями Database Project.

[EDIT] Мы добавили поддержку «Бета» для проекта базы данных в SQL Source Control, которая позволяет подключать SSMS к формату проекта базы данных. Простая ссылка на папку с файлом es .sqlproj из SQL Source Control и начать разработку! [/ EDIT]

В то же время вам придется постоянно развертывать в dev!

Альтернативой является разработка в реальной базе данных и использование функции сравнения схем для синхронизации с проектом базы данных. Schema Compare доступен в версиях Premium и Ultimate Visual Studio.

Дэвид Аткинсон Продукт менеджер Red Gate Software

+0

+1 для изменения базы данных напрямую и использовать схемы сравнения –

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