Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к:✅SQL database в Microsoft Fabric
В этом руководстве вы узнаете, как работать с базой данных SQL в Fabric с системой контроля версий через git-интеграцию Fabric.
SQL-база данных в Microsoft Fabric имеет интеграцию с системой контроля версий или "интеграцию Git", позволяя пользователям SQL отслеживать определения объектов базы данных с течением времени. Эта интеграция позволяет команде:
- Внесите базу данных в систему управления версиями, которая автоматически преобразует актуальную базу данных в код в настроенной системе управления версиями (например, Azure DevOps).
- Обновите объекты базы данных из содержимого системы управления версиями, которая проверяет код в репозитории системы управления версиями перед применением разностного изменения к базе данных.
Если вы не знакомы с git, вот несколько рекомендуемых ресурсов:
В этой статье представлен ряд полезных сценариев, которые можно использовать отдельно или в сочетании для управления процессом разработки с базой данных SQL в Fabric:
- Преобразование базы данных SQL Fabric в код в системе управления версиями
- Обновите базу данных SQL Fabric из системы управления версиями
- Создать область рабочего пространства для ветки
- Слияние изменений из одной ветви в другую
Сценарии, описанные в этой статье, рассматриваются в эпизоде программы Data Exposed. Посмотрите видео для обзора интеграции системы управления исходным кодом в Fabric.
Предварительные требования
- Вам нужна существующая емкость Fabric. Если вы этого не сделали, запустите пробную версию Fabric.
- Убедитесь, что вы включите параметры клиента интеграции Git.
- Создайте новую рабочую область или используйте существующую рабочую область Fabric.
- Создайте или используйте существующую базу данных SQL в Fabric. Если у вас еще нет одного, создайте новую базу данных SQL в Fabric.
- Необязательно: Установите Visual Studio Code, расширение MSSQL и расширение 'SQL projects' для 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, а затем зафиксируете файлы в системе управления версиями перед обновлением базы данных Fabric SQL с использованием интеграции с системой управления версиями. Этот сценарий предназначен для разработчиков, которые предпочитают работать в VS Code, имеют существующие приложения с помощью проектов SQL или имеют более сложные требования к конвейеру CI/CD.
- Убедитесь, что вы установили последний выпуск VS Code и расширения проектов mssql и SQL для VS Code.
- Вы будете использовать интегрированную систему управления версиями Git VS Code.
- Создайте базу данных SQL в рабочей области и зафиксируйте ее в систему управления версиями без добавления объектов. На этом шаге в репозиторий добавляются пустые метаданные проекта SQL и элемента базы данных SQL.
- Клонируйте репозиторий системы контроля версий на локальную машину.
- Если вы используете Azure DevOps, выберите контекстное меню
...для проекта управления исходным кодом. Выберите Clone, чтобы скопировать репозиторий Azure DevOps на локальный компьютер. Если вы не знакомы с Azure DevOps, обратитесь к руководству Code с использованием Git для Azure DevOps. - Если вы используете GitHub, нажмите кнопку Code в репозитории и скопируйте URL-адрес, чтобы клонировать репозиторий на локальный компьютер. Если вы не знакомы с GitHub, ознакомьтесь с руководством по клонированию репозитория.
- Если вы используете Azure DevOps, выберите контекстное меню
- Откройте клонированную папку в Visual Studio Code. Ветвь, связанная с вашей рабочей областью, может не быть ветвью по умолчанию. В VS Code после переключения ветви должна появиться папка с именем
<yourdatabase>.SQLDatabase. - Создайте файл
.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 обновление базы данных завершится ошибкой. Прежде чем продолжить, необходимо вручную отменить изменение в системе контроля версий.
Обновление базы данных SQL в Fabric через систему управления версиями объединяет сборку проекта SQL и публикацию с помощью SqlPackage. Сборка проекта SQL проверяет синтаксис файлов SQL и создает файл .dacpac. Операция публикации SqlPackage определила изменения, необходимые для обновления базы данных в соответствии с файлом .dacpac. Из-за упрощенного характера интерфейса Fabric к операции публикации SqlPackage применяются следующие параметры:
/p:ScriptDatabaseOptions = false/p:DoNotAlterReplicatedObjects = false/p:IncludeTransactionalScripts = true/p:GenerateSmartDefaults = true
Управляемый источником проект SQL также можно клонировать на локальный компьютер для редактирования в VS Code, Visual Studio или других средствах проекта SQL. Проект SQL должен быть создан локально, чтобы проверить изменения перед фиксацией их в системе управления версиями.
Создать рабочую область ветки
В этом сценарии вы настроите новую среду разработки в Fabric, поручив Fabric создать дублирующий набор ресурсов на основе определения системы управления версиями. Повторяющаяся база данных будет включать объекты базы данных, которые мы проверили в системе управления версиями. Этот сценарий предназначен для разработчиков, которые продолжают свой жизненный цикл разработки приложений в Fabric и используют интеграцию системы управления версиями из Fabric.
- Завершите сценарий преобразования базы данных SQL Fabric в код в системе управления версиями.
- У вас должна быть ветвь в репозитории системы управления версиями, которая содержит как проект SQL, так и метаданные объекта Fabric.
- В рабочей области Fabric откройте панель управления исходным кодом. На вкладке "Ветви" меню "Управление версиями" выберите "Создать ветку в новой рабочей области".
- Укажите имена создаваемой ветви и рабочей области. Ветка будет создана в репозитории системы контроля версий и заполнена содержимым состояния ветки, связанной с рабочей областью, из которой вы делаете ветвление. Рабочая область будет создана в Fabric.
- Перейдите в только что созданную рабочую область в Fabric. После завершения создания базы данных только что созданная база данных теперь содержит объекты, указанные в репозитории кода. Если открыть редактор запросов Fabric и перейти в обозреватель объектов, ваша база данных включает новые (пустые) таблицы и другие объекты.
Слияние изменений из одной ветви в другую
В этом сценарии вы будете использовать репозиторий системы управления версиями для проверки изменений базы данных, прежде чем они будут доступны для развертывания. Этот сценарий предназначен для разработчиков, работающих в командной среде и использующих систему управления версиями для управления изменениями базы данных.
Создайте две рабочие области с связанными ветвями в одном репозитории, как описано в предыдущем сценарии.
- При использовании базы данных в вторичной ветви внесите изменения в объекты базы данных.
- Например, измените существующую хранимую процедуру или создайте новую таблицу.
- Зафиксируйте эти изменения в системе управления версиями кнопкой Фиксация на панели системы управления версиями в Fabric.
- В Azure DevOps или GitHub создайте pull request из второстепенной ветки в основную.
- В pull-запросе можно увидеть изменения в коде базы данных между основным рабочим пространством и вторичным рабочим пространством.
- После завершения pull request система управления версиями обновляется, но база данных в Fabric в основной рабочей области не изменяется. Чтобы изменить базу данных-источник, обновите основную рабочую область из системы управления версиями с помощью кнопки "Обновить " на панели управления версиями в Fabric.
Связанный контент
- SQL-база данных в Microsoft Fabric
- Руководство по управлению жизненным циклом в Fabric
- Обзор проектов SQL
- Средства проектов SQL