Глупо звучащий вопрос, я знаю ... Позвольте мне сначала заложить фундамент.Как разработать TSQL в проектах Visual Studio 2010 Database
Я успешно создал проект базы данных, состоящий из сотен таблиц, хранимых процедур, индексов, et.al. которые составляют нашу производственную базу данных.
Я успешно добавил решение для управления исходным кодом (TFS).
Я сделал изменение (как тест) для некоторых объектов и сгенерировал сценарий развертывания, и вся система очень впечатляет, я должен сказать. Но, похоже, сила VS 2010 с точки зрения БД составляет развертывание, и не обязательно развитие.
Я полностью озадачился повседневным рабочим процессом, связанным с разработкой базы данных/TSQL с помощью Visual Studio. Предположим, мне нужно добавить несколько столбцов в таблицу и изменить связанные хранимые процедуры для возврата/обновления этих данных для этих столбцов.
Хотя достаточно легко изменить все сценарии в моей модели базы данных, я бы хотел, чтобы их можно было изолировать от базы данных dev, где я могу провести некоторое тестирование ... Но это так же просто, как не обновлять proc, если он существует, без ручного изменения сценария на ALTER (или добавление кода DROP до CREATE). Необходимость делать это один или два раза не является проблемой, но в реальной среде разработчиков мы делаем это в течение всего дня.
Возможно, ответ заключается в частом развертывании сервера dev, поскольку я отлаживаю и вношу изменения в procs, например? Довольно немного накладных расходов; Я могу выполнить необходимые скрипты вручную через несколько секунд, создание и развертывание занимает несколько минут. Плюс, если трое из нас разворачивают различные изменения в Dev DB, не будем ли мы перезаписывать изменения друг друга?
Извините, что так долго, но я не могу не думать, что мне здесь что-то не хватает.
Есть ли какие-либо книги/учебные пособия/веб-семинары, демонстрирующие этот тип подхода к реальной разработке?
+1 для изменения базы данных напрямую и использовать схемы сравнения –