Пошаговое руководство. Выполнение последовательной разработки базы данных в изолированной среде разработки
В разделе Пошаговое руководство. Создание изолированной среды разработки базы данных вы действовали как администратор базы данных, создав проект базы данных и импортировав схему и определения объектов базы данных с рабочего сервера. Во втором пошаговом руководстве вы создали модульные тесты базы данных для проверки имеющейся функциональности и определения базового плана.
В этом, третьем и последнем из серии, пошаговом руководстве выполняется типичная задача последовательной разработки — переименование двух столбцов базы данных. Вы внесете эти изменения в изолированной среде разработки для минимизации риска для остальной части рабочей группы до тех пор, пока изменения не будут готовы для совместного использования.
В данном пошаговом руководстве представлены следующие задачи:
Использование рефакторинга базы данных для переименования столбцов, позволяющее ускорить обновление всех ссылок на столбцы и снизить вероятность ошибок.
Выполнение модульных тестов базы данных для проверки того, что внесенные изменении не нарушили имеющуюся функциональность.
Возврат изменений в систему управления версиями, чтобы они стали доступными остальным участникам рабочей группы.
Обязательные компоненты
Должна быть установлена система Visual Studio Premium или Visual Studio Ultimate, и необходим доступ к примеру базы данных AdventureWorks2008 для SQL Server 2008. Кроме того, в этом пошаговом руководстве предполагается, что вы выполнили Пошаговое руководство. Создание изолированной среды разработки базы данных и Пошаговое руководство. Создание базового плана для изолированной среды разработки.
Переименование столбцов базы данных
Одной из типичных задач разработки является переименование объектов базы данных. В этом пошаговом руководстве вы переименуете столбец BusinessEntityID в таблице [HumanResources].[Employee], назначив ему имя BusinessEntityNumber. Ссылки на столбец BusinessEntityID имеются в нескольких внешних ключах и хранимых процедурах. Чтобы выполнить изменения вручную, придется изменить несколько файлов.
Перед внесением изменений необходимо убедиться в наличии последней версии проекта базы данных.
Получение последней версии проекта базы данных
В командном обозревателе разверните узел "Командный проект", содержащий проект базы данных.
Откройте обозреватель управления исходным кодом, дважды щелкнув узел «Система управления версиями».
В обозревателе управления исходным кодом щелкните правой кнопкой мыши Получить последнюю версию.
На компьютер будет извлечена последняя версия решения, содержащая проект базы данных.
Переименование столбца BusinessEntityID в BusinessEntityNumber
Если решение AdvWorksSandbox открыто в обозревателе решений, перейдите к шагу 4.
В меню Файл выберите команду Открыть и щелкните Решение или проект.
Откроется диалоговое окно Открыть проект.
Щелкните решение AdvWorksSandbox, а затем Открыть. (По умолчанию это решение находится в папке Мои документы\Visual Studio 2005\Projects\AdvWorksSandbox.)
Решение AdvWorksSandbox откроется в обозревателе решений.
Откройте меню Вид и выберите команду Представление схемы.
В представлении схемы разверните узел AdvWorksSandbox, схему HumanResources, а затем папку "Таблицы".
В папке "Таблицы" разверните таблицу HumanResources.Employee, а затем папку "Столбцы".
Щелкните правой кнопкой мыши папку BusinessEntityID, выберите команду Рефакторинг и щелкните Переименовать.
Откроется диалоговое окно Переименовать, в котором будет выведено существующее имя столбца.
В поле Новое имя введите BusinessEntityNumber.
Установите флажок Обновить ссылки в объектах схемы, содержащих предупреждения или ошибки.
Если флажок Просмотреть изменения не установлен, установите его и нажмите кнопку ОК.
Появится диалоговое окно Просмотр изменений - Переименование с перечнем всех элементов проекта, ссылающихся на переименовываемый столбец.
Щелкните одно из изменений.
В окне Просмотреть изменения отобразятся сведения об этом изменении.
Просмотрев изменения, нажмите кнопку Применить для их применения.
Все изменяемые файлы получены из системы управления версиями.
Можно просмотреть ожидающие изменения в окне Ожидающие изменения. В окне Pending Changes должны отображаться следующие файлы:
Employee.table.sql
ufnGetContactInformation.function.sql
uspGetEmployeeManagers.proc.sql
uspGetManagerEmployees.proc.sql
uspUpdateEmployeeHireInfo.proc.sql
uspUpdateEmployeeLogin.proc.sql
uspUpdateEmployeePersonalInfo.proc.sql
FK_EmployeeDepartmentHistory_Employee_BusinessEntityID.fkey.sql
FK_EmployeePayHistory_Employee_BusinessEntityID.fkey.sql
FK_Employee_Person_BusinessEntityID.fkey.sql
FK_JobCandidate_Employee_BusinessEntityID.fkey.sql
PK_Employee_BusinessEntityID.pkey.sql
vEmployee.view.sql
vEmployeeDepartment.view.sql
FK_Document_Employee_Owner.fkey.sql
FK_PurchaseOrderHeader_EmployeeID.fkey.sql
FK_SalesPerson_Employee_BusinessEntityID.fkey.sql
vSalesPerson.view.sql
vSalesPersonSalesByFiscalYears.view.sql
AWGenPlan.dgen
Выполнение модульного теста базы данных
После внесения изменений и до возврата приложения в систему управления версиями следует выполнить модульные тесты базы данных для проверки правильности функционирования приложения, прежде чем делать изменения доступными остальным участникам рабочей группы.
Выполнение модульных тестов базы данных для идентификации потенциальных проблем
В меню Тест выберите Окна, а затем команду Представление теста.
В окне Представление теста перечислено несколько тестов. По умолчанию создаются тесты с именами ManualTest1 и TestMethod1. Тест с именем dbo_ufpLeadingZeroTest — это тот, который вы создали в предыдущем пошаговом руководстве.
Выберите dbo_ufpLeadingZeroTest, щелкните его правой кнопкой мыши и выберите команду Выполнить выбранное.
Просмотрите результаты в окне Результаты теста.
Проект базы данных развернут в изолированной рабочей среде, сгенерированы тестовые данные, тест выполнен и пройден.
Сравнение проекта базы данных с рабочей базой данных
Можно сравнить схемы обновленного проекта базы данных с рабочей базой данных, чтобы определить, чем они отличаются. Поскольку схемы только сравниваются, но не обновляются, как источником, так и целью сравнения может быть любая из них.
Сравнение проекта базы данных с рабочей базой данных
В меню Данные выберите Сравнение схемы и щелкните Новое сравнение схем.
Откроется диалоговое окно Новое сравнение схем.
Примите для «Исходная схема» значение по умолчанию.
Задан проект базы данных, AdvWorksSandbox.
В «Конечная схема» в списке Database щелкните подключение к базе данных AdventureWorks, из первоначально была импортирована схема базы данных, и нажмите кнопку ОК.
Сравнение схем выполнено. Единственным отличием должны быть изменения, внесенные в этом пошаговом руководстве.
Просмотрите различия схем. Окончив просмотр, закройте окно Сравнение схемы.
Теперь можно сделать изменения доступными остальным участникам рабочей группы.
Возврат изменений
После проверки готовности изменений к совместном использованию с остальными участниками рабочей группы вы вернете их в систему управления версиями. Будет выполнен возврат всех изменений в решении, обычно включающем проект базы данных, проект модульных тестов и связанный код приложения и модульные тесты приложения.
Возврат изменений, чтобы они стали доступными остальным участникам рабочей группы
В меню Вид выберите команду Другие окна и щелкните Ожидающие изменения.
Появится окно Ожидающие изменения.
В поле Комментарий введите "Переименованный столбец BusinessEntityID".
В окне Ожидающие изменения на панели инструментов щелкните Вернуть.
В диалоговом окне Ход возврата отобразится проект базы данных и содержащиеся в нем файлы, возвращаемые в систему управления версиями. Значки в обозревателе решений обновляются, показывая, что файлы возвращены в систему управления версиями.
Следующие действия
Этот последовательный процесс выполняется многократно, для каждой версии базы данных, развертываемой рабочей группой в рабочую базу данных. Каждый разработчик вносит изменения изолированно, тестирует их и, убедившись в их правильности, делает доступными для остальных участников рабочей группы, возвращая в систему управления версиями. Дополнительные сведения о построении и развертывании базы данных см. в разделах Построение и развертывание баз данных в изолированной среде разработки и Построение и развертывание баз данных в тестовой или производственной среде.
Примечание
При развертывании на тот же сервер, с которого изначально была импортирована база данных AdventureWorks2008, может возникнуть ошибка.Если отображается ошибка с сообщением о невозможности создания файла, так как он уже существует, возможно, что была пропущена операция при выполнении первого пошагового руководства.Дополнительные сведения см. в разделе Развертывание проекта в изолированной среде разработки.
Чтобы ознакомиться с функциями Visual Studio более подробно, можно выполнить углубленные пошаговые руководства для каждой функциональной области.
См. также
Основные понятия
Рефакторинг кода и данных базы данных
Выполнение модульных тестов базы данных