Интеграция системы управления версиями базы данных SQL в Microsoft Fabric
Применимо к:✅базе данных SQL в Microsoft Fabric
В этом руководстве описано, как работать с базой данных SQL в Fabric с системой управления версиями источников интеграции Fabric git.
База данных SQL в Microsoft Fabric имеет интеграцию системы управления версиями или "интеграцию git", позволяя пользователям SQL отслеживать определения объектов базы данных с течением времени. Эта интеграция позволяет команде:
- Зафиксируйте базу данных в систему управления версиями, которая автоматически преобразует динамическую базу данных в код в настроенный репозиторий системы управления версиями (например, Azure DevOps).
- Обновите объекты базы данных из содержимого системы управления версиями, которая проверяет код в репозитории системы управления версиями перед применением разностного изменения к базе данных.
Если вы не знакомы с git, вот несколько рекомендуемых ресурсов:
В этой статье представлен ряд полезных сценариев, которые можно использовать отдельно или в сочетании для управления процессом разработки с базой данных SQL в Fabric:
- Преобразование базы данных SQL Fabric в код в системе управления версиями
- Обновление базы данных SQL Fabric из системы управления версиями
- Создание рабочей области ветви
- Слияние изменений из одной ветви в другую
Необходимые компоненты
- Вам нужна существующая емкость Fabric. Если вы этого не сделали, запустите пробную версию Fabric.
- Убедитесь, что вы включите базу данных SQL в параметрах клиента Fabric.
- Убедитесь, что вы включите параметры клиента интеграции Git.
- Создайте новую рабочую область или используйте существующую рабочую область Fabric.
- Создайте или используйте существующую базу данных SQL в Fabric. Если у вас еще нет одного, создайте новую базу данных SQL в Fabric.
- Необязательно. Установите Visual Studio Code, расширение mssql и расширение проектов SQL для VS Code.
Настройка
Это подключение репозитория применяется на уровне рабочей области, таким образом, что одна ветвь в репозитории связана с этой рабочей областью. Репозиторий может иметь несколько ветвей, но только код в ветви, выбранной в параметрах рабочей области, напрямую влияет на рабочую область.
Инструкции по подключению рабочей области к репозиторию системы управления версиями см. в статье "Начало работы с интеграцией Git". Рабочая область может быть подключена к удаленный репозиторий Azure DevOps или GitHub.
Добавление базы данных SQL Fabric в управление версиями
В этом сценарии объекты базы данных фиксируются в системе управления версиями. Возможно, вы разрабатываете приложение, где вы создаете объекты непосредственно в тестовой базе данных и отслеживаете эту базу данных в системе управления версиями так же, как код приложения. В результате у вас есть доступ к журналу определений объектов базы данных и может использовать понятия Git, такие как ветвление и слияние для дальнейшей настройки процесса разработки.
- Подключитесь к базе данных SQL в редакторе SQL Fabric, SQL Server Management Studio, расширении mssql с помощью Visual Studio Code или других внешних средств.
- Создайте таблицу, хранимую процедуру или другой объект в базе данных.
...
Выберите меню для базы данных, выберите "Обновить состояние синхронизации Git".- Нажмите кнопку "Управление версиями", чтобы открыть панель управления версиями.
- Установите флажок рядом с требуемой базой данных. Щелкните здесь Зафиксировать. Служба Fabric считывает определения объектов из базы данных и записывает их в удаленный репозиторий.
- Теперь можно просмотреть журнал объектов базы данных в представлении источника кода.
При продолжении редактирования базы данных, включая редактирование существующих объектов, эти изменения можно зафиксировать в системе управления версиями, выполнив описанные выше действия.
Обновление базы данных SQL Fabric из системы управления версиями
В этом сценарии вы создадите объекты базы данных в виде кода в расширении проектов SQL в VS Code, а затем фиксируете файлы в систему управления версиями перед обновлением базы данных SQL Fabric из интеграции системы управления версиями. Этот сценарий предназначен для разработчиков, которые предпочитают работать в VS Code, имеют существующие приложения с помощью проектов SQL или имеют более сложные требования к конвейеру CI/CD.
- Убедитесь, что вы установили последний выпуск VS Code и расширения проектов mssql и SQL для VS Code.
- Вы будете использовать интегрированную систему управления версиями Git VS Code.
- Создайте базу данных SQL в рабочей области и зафиксируйте ее в систему управления версиями без добавления объектов. На этом шаге в репозиторий добавляются пустые метаданные проекта SQL и элемента базы данных SQL.
- Клонируйте репозиторий системы управления версиями на локальный компьютер.
- Если вы используете Azure DevOps, выберите контекстное
...
меню для проекта системы управления версиями. Выберите клонировать , чтобы скопировать репозиторий Azure DevOps на локальный компьютер. Если вы не знакомы с Azure DevOps, ознакомьтесь с руководством по git для Azure DevOps. - Если вы используете GitHub, нажмите кнопку Code в репозитории и скопируйте URL-адрес, чтобы клонировать репозиторий на локальный компьютер. Если вы не знакомы с GitHub, ознакомьтесь с руководством по клонированию репозитория .
- Если вы используете Azure DevOps, выберите контекстное
- Откройте клонированную папку в Visual Studio Code. Ветвь, связанная с рабочей областью, может не быть стандартной. После переключения ветви должна появиться папка с именем
<yourdatabase>.SQLDatabase
VS Code. .sql
Создайте файл по крайней мере для одной таблицы, которая будет создана в базе данных в структуре папок для базы данных. Файл должен содержать инструкциюCREATE TABLE
для таблицы. Например, создайте файл с именемMyTable.sql
в папкеdbo/Tables
со следующим содержимым:CREATE TABLE dbo.MyTable ( Id INT PRIMARY KEY, ExampleColumn NVARCHAR(50) );
- Чтобы убедиться, что синтаксис действителен, можно проверить модель базы данных с помощью проекта SQL. После добавления файлов используйте представление "Проекты баз данных" в VS Code для создания проекта.
- После успешной сборки зафиксируйте файлы в системе управления версиями с помощью представления системы управления версиями в VS Code или предпочтительном локальном интерфейсе Git.
- Отправка и синхронизация фиксации с удаленный репозиторий. Убедитесь, что новые файлы появились в Azure DevOps или GitHub.
- Вернитесь к веб-интерфейсу Fabric и откройте панель управления версиями в рабочей области. Возможно, у вас уже есть оповещение о том, что у вас есть ожидающие изменения из Git. Нажмите кнопку "Обновить все", чтобы применить код из проекта SQL к базе данных.
- После обновления может появиться база данных сразу же указывает, что она "Не зафиксирована". Это связано с тем, что функция интеграции Git напрямую сравнивает все содержимое файла, созданного для определения элемента, и возможны некоторые непреднамеренные различия. Одним из примеров являются встроенные атрибуты столбцов. В этих случаях необходимо зафиксировать обратно в систему управления версиями в веб-интерфейсе Fabric, чтобы синхронизировать определение с тем, что создается в рамках операции фиксации.
- После завершения обновления используйте средство подключения к базе данных. Объекты, добавленные в проект SQL, видимые в базе данных.
Примечание.
При внесении изменений в локальный проект SQL при возникновении синтаксической ошибки или использовании неподдерживаемых функций в Fabric обновление базы данных завершится ошибкой. Прежде чем продолжить, необходимо вручную отменить изменение системы управления версиями.
Создание рабочей области ветви
В этом сценарии вы настроите новую среду разработки в Fabric, создав дублирующийся набор ресурсов на основе определения системы управления версиями. Повторяющаяся база данных будет включать объекты базы данных, которые мы проверили в системе управления версиями. Этот сценарий предназначен для разработчиков, которые продолжают свой жизненный цикл разработки приложений в Fabric и используют интеграцию системы управления версиями из Fabric.
- Завершите сценарий преобразования базы данных SQL Fabric в код в системе управления версиями.
- У вас должна быть ветвь в репозитории системы управления версиями с метаданными проекта SQL и объекта Fabric.
- В рабочей области Fabric откройте панель управления версиями . На вкладке "Ветви" меню " Управление версиями" выберите "Ветвь" в новую рабочую область.
- Укажите имена создаваемой ветви и рабочей области. Ветвь будет создана в репозитории системы управления версиями и заполняется зафиксированным содержимым ветви, связанной с ветвью рабочей области. Рабочая область будет создана в Fabric.
- Перейдите в только что созданную рабочую область в Fabric. После завершения создания базы данных только что созданная база данных теперь содержит объекты, указанные в репозитории кода. Если открыть редактор запросов Fabric и перейти в обозревателе объектов, база данных имеет новые (пустые) таблицы и другие объекты.
Слияние изменений из одной ветви в другую
В этом сценарии вы будете использовать репозиторий системы управления версиями для проверки изменений базы данных, прежде чем они будут доступны для развертывания. Этот сценарий предназначен для разработчиков, работающих в командной среде и использующих систему управления версиями для управления изменениями базы данных.
Создайте две рабочие области с связанными ветвями в одном репозитории, как описано в предыдущем сценарии.
- При использовании базы данных в вторичной ветви внесите изменения в объекты базы данных.
- Например, измените существующую хранимую процедуру или создайте новую таблицу.
- Проверьте эти изменения в системе управления версиями с помощью кнопки "Фиксация " на панели управления версиями в Fabric.
- В Azure DevOps или GitHub создайте запрос на вытягивание из вторичной ветви в основную ветвь.
- В запросе на вытягивание можно увидеть изменения в коде базы данных между основной рабочей областью и вторичной рабочей областью.
- После завершения запроса на вытягивание система управления версиями обновляется, но база данных в Fabric в основной рабочей области не изменяется. Чтобы изменить базу данных-источник, обновите основную рабочую область из системы управления версиями с помощью кнопки "Обновить " на панели управления версиями в Fabric.