Поделиться через


Интеграция системы управления версиями базы данных SQL в Microsoft Fabric

Применимо к:базе данных SQL в Microsoft Fabric

В этом руководстве описано, как работать с базой данных SQL в Fabric с системой управления версиями источников интеграции Fabric git.

База данных SQL в Microsoft Fabric имеет интеграцию системы управления версиями или "интеграцию git", позволяя пользователям SQL отслеживать определения объектов базы данных с течением времени. Эта интеграция позволяет команде:

  • Зафиксируйте базу данных в систему управления версиями, которая автоматически преобразует динамическую базу данных в код в настроенный репозиторий системы управления версиями (например, Azure DevOps).
  • Обновите объекты базы данных из содержимого системы управления версиями, которая проверяет код в репозитории системы управления версиями перед применением разностного изменения к базе данных.

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

Если вы не знакомы с git, вот несколько рекомендуемых ресурсов:

В этой статье представлен ряд полезных сценариев, которые можно использовать отдельно или в сочетании для управления процессом разработки с базой данных SQL в Fabric:

Необходимые компоненты

Настройка

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

Инструкции по подключению рабочей области к репозиторию системы управления версиями см. в статье "Начало работы с интеграцией Git". Рабочая область может быть подключена к удаленный репозиторий Azure DevOps или GitHub.

Добавление базы данных SQL Fabric в управление версиями

В этом сценарии объекты базы данных фиксируются в системе управления версиями. Возможно, вы разрабатываете приложение, где вы создаете объекты непосредственно в тестовой базе данных и отслеживаете эту базу данных в системе управления версиями так же, как код приложения. В результате у вас есть доступ к журналу определений объектов базы данных и может использовать понятия Git, такие как ветвление и слияние для дальнейшей настройки процесса разработки.

  1. Подключитесь к базе данных SQL в редакторе SQL Fabric, SQL Server Management Studio, расширении mssql с помощью Visual Studio Code или других внешних средств.
  2. Создайте таблицу, хранимую процедуру или другой объект в базе данных.
  3. ... Выберите меню для базы данных, выберите "Обновить состояние синхронизации Git".
  4. Нажмите кнопку "Управление версиями", чтобы открыть панель управления версиями.
  5. Установите флажок рядом с требуемой базой данных. Щелкните здесь Зафиксировать. Служба Fabric считывает определения объектов из базы данных и записывает их в удаленный репозиторий.
  6. Теперь можно просмотреть журнал объектов базы данных в представлении источника кода.

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

Обновление базы данных SQL Fabric из системы управления версиями

В этом сценарии вы создадите объекты базы данных в виде кода в расширении проектов SQL в VS Code, а затем фиксируете файлы в систему управления версиями перед обновлением базы данных SQL Fabric из интеграции системы управления версиями. Этот сценарий предназначен для разработчиков, которые предпочитают работать в VS Code, имеют существующие приложения с помощью проектов SQL или имеют более сложные требования к конвейеру CI/CD.

  1. Убедитесь, что вы установили последний выпуск VS Code и расширения проектов mssql и SQL для VS Code.
  2. Создайте базу данных SQL в рабочей области и зафиксируйте ее в систему управления версиями без добавления объектов. На этом шаге в репозиторий добавляются пустые метаданные проекта SQL и элемента базы данных SQL.
  3. Клонируйте репозиторий системы управления версиями на локальный компьютер.
    • Если вы используете Azure DevOps, выберите контекстное ... меню для проекта системы управления версиями. Выберите клонировать , чтобы скопировать репозиторий Azure DevOps на локальный компьютер. Если вы не знакомы с Azure DevOps, ознакомьтесь с руководством по git для Azure DevOps.
    • Если вы используете GitHub, нажмите кнопку Code в репозитории и скопируйте URL-адрес, чтобы клонировать репозиторий на локальный компьютер. Если вы не знакомы с GitHub, ознакомьтесь с руководством по клонированию репозитория .
  4. Откройте клонированную папку в Visual Studio Code. Ветвь, связанная с рабочей областью, может не быть стандартной. После переключения ветви должна появиться папка с именем <yourdatabase>.SQLDatabase VS Code.
  5. .sql Создайте файл по крайней мере для одной таблицы, которая будет создана в базе данных в структуре папок для базы данных. Файл должен содержать инструкцию CREATE TABLE для таблицы. Например, создайте файл с именем MyTable.sql в папке dbo/Tables со следующим содержимым:
    CREATE TABLE dbo.MyTable
    (
        Id INT PRIMARY KEY,
        ExampleColumn NVARCHAR(50)
    );
    
  6. Чтобы убедиться, что синтаксис действителен, можно проверить модель базы данных с помощью проекта SQL. После добавления файлов используйте представление "Проекты баз данных" в VS Code для создания проекта.
  7. После успешной сборки зафиксируйте файлы в системе управления версиями с помощью представления системы управления версиями в VS Code или предпочтительном локальном интерфейсе Git.
  8. Отправка и синхронизация фиксации с удаленный репозиторий. Убедитесь, что новые файлы появились в Azure DevOps или GitHub.
  9. Вернитесь к веб-интерфейсу Fabric и откройте панель управления версиями в рабочей области. Возможно, у вас уже есть оповещение о том, что у вас есть ожидающие изменения из Git. Нажмите кнопку "Обновить все", чтобы применить код из проекта SQL к базе данных.
    • После обновления может появиться база данных сразу же указывает, что она "Не зафиксирована". Это связано с тем, что функция интеграции Git напрямую сравнивает все содержимое файла, созданного для определения элемента, и возможны некоторые непреднамеренные различия. Одним из примеров являются встроенные атрибуты столбцов. В этих случаях необходимо зафиксировать обратно в систему управления версиями в веб-интерфейсе Fabric, чтобы синхронизировать определение с тем, что создается в рамках операции фиксации.
  10. После завершения обновления используйте средство подключения к базе данных. Объекты, добавленные в проект SQL, видимые в базе данных.

Примечание.

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

Создание рабочей области ветви

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

  1. Завершите сценарий преобразования базы данных SQL Fabric в код в системе управления версиями.
    • У вас должна быть ветвь в репозитории системы управления версиями с метаданными проекта SQL и объекта Fabric.
  2. В рабочей области Fabric откройте панель управления версиями . На вкладке "Ветви" меню " Управление версиями" выберите "Ветвь" в новую рабочую область.
  3. Укажите имена создаваемой ветви и рабочей области. Ветвь будет создана в репозитории системы управления версиями и заполняется зафиксированным содержимым ветви, связанной с ветвью рабочей области. Рабочая область будет создана в Fabric.
  4. Перейдите в только что созданную рабочую область в Fabric. После завершения создания базы данных только что созданная база данных теперь содержит объекты, указанные в репозитории кода. Если открыть редактор запросов Fabric и перейти в обозревателе объектов, база данных имеет новые (пустые) таблицы и другие объекты.

Слияние изменений из одной ветви в другую

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

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

  1. При использовании базы данных в вторичной ветви внесите изменения в объекты базы данных.
    • Например, измените существующую хранимую процедуру или создайте новую таблицу.
  2. Проверьте эти изменения в системе управления версиями с помощью кнопки "Фиксация " на панели управления версиями в Fabric.
  3. В Azure DevOps или GitHub создайте запрос на вытягивание из вторичной ветви в основную ветвь.
    • В запросе на вытягивание можно увидеть изменения в коде базы данных между основной рабочей областью и вторичной рабочей областью.
  4. После завершения запроса на вытягивание система управления версиями обновляется, но база данных в Fabric в основной рабочей области не изменяется. Чтобы изменить базу данных-источник, обновите основную рабочую область из системы управления версиями с помощью кнопки "Обновить " на панели управления версиями в Fabric.