Управление изменениями в базе данных

Если вы осуществляете разработку и обслуживание баз данных на уровне предприятия, то в ваши обязанности, вероятно, входит координирование расписаний и изменений с группами разработки программного обеспечения для создания унифицированных приложений баз данных. Можно значительно сократить усилия, требующиеся для такой координации, внедрив средства и процессы, как можно более близкие к тем, которыми пользуются в вашей организации разработчики программного обеспечения.

По мере того как многие рабочие группы обращаются при написании кода к более последовательным парадигмам быстрой разработки (таким как гибкая методика), у разработчиков программного обеспечения и баз данных возрастает потребность в таких средствах, как системы управления версиями. Эти средства помогают снизить риски. связанные с разработкой на основе рабочих групп. Используя подобные средства и процессы, можно получить значительные преимущества не только для баз данных, которыми вы управляете, но и для точек интеграции между этими базами данных и взаимодействующим с ними программным обеспечением.

Чем поможет Visual Studio

Visual Studio помогает координировать усилия с разработчиками программного обеспечения, поощряя участников рабочей группы к более целостному видению и концентрации на поведении приложения, а не на деталях его реализации. Такой подход отличается от модели, в которой рабочая база данных (и ее данные) рассматриваются как центр вселенной приложения. Visual Studio предоставляет набор решений, предназначенных для всего приложения — и его данных, и логики. Для как можно более быстрого построения эффективного и простого в обслуживании приложения организации, занимающиеся разработкой на уровне предприятия, должны иметь об этом приложении полное представление.

Visual Studio предоставляет функции, предназначенные для современных ролей разработчика и администратора базы данных. Например, Visual Studio поддерживает концепцию изолированной среды разработки для каждого специалиста, участвующего в разработке баз данных. Участники рабочей группы могут осуществлять связанные со схемой действия, не создавая трудностей другим участникам рабочей группы или пользователям рабочей базы данных. Такое перспективное видение позволяет расширить функциональные возможности для ролей архитектора базы данных и ее администраторов.

Высокоуровневые цели

Функции Visual Studio, связанные с базой данных, имеют следующие высокоуровневые цели.

  • Предоставление основания для приложений баз данных на базе интегрированного управления изменениями.

  • Предоставление средств, помогающих управлять проектами базы данных.

  • Предоставление средств, помогающих понять различия.

  • Предоставление средств, помогающих вносить изменения и оценивать их воздействие.

  • Предоставление средств, помогающих работать в изолированной среде и снижающих риски, связанные с изменениями.

  • Предоставление средств, помогающих тестировать обновленные решения.

  • Предоставление средств, которые упрощают развертывание изменений в базе данных.

  • Предоставление средств, которые обеспечивают совместную разработку сложных баз данных.

Высокоуровневые задачи

Для достижения этих целей Visual Studio помогает выполнять следующие высокоуровневые задачи.

  • Создание и развертывание новой базы данных в системе управления версиями.

  • Помещение имеющейся схемы базы данных в систему управления версиями с использованием проекта базы данных. Схема проекта базы данных создается путем импорта схемы из базы данных или имеющихся скриптов.

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

  • Сравнение схем или данных баз данных.

  • Разработка и выполнение модульных тестов объектов базы данных.

  • Создание предсказуемых представительных тестовых данных без раскрытия конфиденциальных рабочих данных.

  • Переименование таблиц, столбцов, представлений или других объектов и распространение этих изменений на остальную часть проекта базы данных, включая связанные модульные тесты, представления, хранимые процедуры, триггеры и т. д.

  • Создание, редактирование, проверка, выполнение и анализ скриптов и запросов.

Жизненный цикл разработки базы данных

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

  • Создание среды проекта

  • Осуществление изолированной последовательной разработки

  • Построение проекта

  • Развертывание среды проекта

Создание среды проекта

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

DBA создает среду проекта базы данных

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

Выполнение изолированной последовательной разработки

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

Последовательная разработка в изолированной среде

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

Создание ежедневных построений проекта

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

Цикл построения для проектов базы данных

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

Развертывание из среды проекта

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

DBA осуществляет построение и развертывание для производства

Когда приходит время развернуть версию базы данных в рабочей среде, администратор базы данных синхронизируется с меткой из системы управления версиями. Администратор базы данных извлекает соответствующие файлы из проекта базы данных, связанные скрипты и тесты. Затем администратор базы данных создает файл .dbschema. На базе файла .dbschema администратор базы данных создает скрипт развертывания, вносит вручную необходимые изменения и выполняет тестовое развертывание на промежуточном сервере. Затем администратор базы данных повторяет этот процесс, пока скрипт не будет готов к развертыванию на рабочем сервере. Если администратор базы данных вносит изменения в схему или в скрипты, выполняемые до или после развертывания, эти изменения будут возвращены в систему управления версиями.

См. также

Основные понятия

Общие сведения об архитектуре функций баз данных Visual Studio

Начало командной разработки базы данных