Как разработать TSQL в проектах базы данных Visual Studio 2010 - PullRequest
10 голосов
/ 25 августа 2010

Глупо звучащий вопрос, я знаю ... Позвольте мне сначала заложить некоторые основы.

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

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

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

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

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

Возможно, ответ заключается в частом развертывании на сервере dev, как, например, во время отладки и внесения изменений в procs? Совсем немного накладных расходов; Я мог бы выполнить необходимые сценарии вручную за несколько секунд, сборка и развертывание занимают несколько минут. Кроме того, если мы втроем внедряем различные изменения в базу данных разработчиков, не перезаписываем ли мы изменения друг друга?

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

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

1 Ответ

6 голосов
/ 26 августа 2010

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

Здесь, в Red Gate, у нас было множество запросов о том, чтобы SQL Source Control поддерживал проект базы данных, что позволило бы разработчикам извлечь выгоду из «онлайновой» модели разработки, при этом все еще извлекая выгоду из функций проекта базы данных.

[РЕДАКТИРОВАТЬ] Мы добавили поддержку «Бета» для проекта базы данных в SQL Source Control, что позволяет разрабатывать связанные SSMS для формата проекта базы данных. Простая ссылка на папку с файлом eh .sqlproj из SQL Source Control и начать разработку! [/ EDIT]

А пока вам придется регулярно развертывать dev для разработки!

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

Дэвид Аткинсон Менеджер по продукту Программное обеспечение Red Gate

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