仓库源代码管理(预览版)
本文介绍 Git 集成和部署管道如何在 Microsoft Fabric 的仓库中工作。 了解如何设置与存储库的连接,如何管理仓库以及如何在不同的环境中部署仓库。 Fabric Warehouse 的源代码管理目前是预览功能。
- 使用 Git 和 SQL 数据库项目来管理单个数据库对象中的增量更改、团队协作、提交历史记录。
- 使用部署管道将代码更改提升到不同的预生产环境和生产环境。
Git 集成
Microsoft Fabric 中的 Git 集成使开发人员能够将其开发流程、工具和最佳做法直接集成到 Fabric 平台中。 它允许在 Fabric 中进行开发的开发人员:
- 备份并对其工作进行版本控制
- 根据需要还原到以前的阶段
- 与其他人协作或使用 Git 分支单独工作
- 利用熟悉的源代码管理工具的功能来管理 Fabric 项
有关 Git 集成过程的详细信息,请参阅:
设置与源代码管理的连接
从“工作区设置”页中,可以轻松设置与存储库的连接,以提交和同步更改。
- 若要设置连接,请参阅 Git 集成入门。 按照说明连接到 Git 存储库,可以连接到 Azure DevOps 或连接到 GitHub(作为 Git 提供程序)。
- 连接后,各种项(包括仓库)将显示在“源代码管理”面板中。
- 成功将仓库实例连接到 Git 存储库后,可在存储库中看到仓库文件夹结构。 现在可以执行将来的操作,例如“创建拉取请求”。
Git 中仓库的数据库项目
下图列举了存储库中每个仓库项的文件结构:
将仓库项提交到 Git 存储库时,该仓库将转换为源代码格式,用作 SQL 数据库项目。 SQL 项目 SQL 对象的本地表示形式,这些对象包含了用于某一个数据库的架构(例如,表、存储过程或函数)。 数据库对象的文件夹结构按架构/对象类型进行组织。 仓库中的每个对象都用包含其数据定义语言 (DDL) 定义的 .sql 文件表示。 SQL 数据库项目中不包括仓库表数据和 SQL 安全功能。
共享查询也会提交到存储库,并继承它们保存时使用的名称。
在 Fabric 中下载仓库的 SQL 数据库项目
借助 Azure Data Studio 和 Visual Studio Code 中 提供的 SQL 数据库项目扩展,可以管理仓库架构,并像其他 SQL 数据库项目一样处理 Warehouse 对象更改。
若要下载仓库架构的本地副本,请在功能区中选择“下载 SQL 数据库项目”。
包含仓库架构定义的数据库项目的本地副本。 数据库项目可用于:
- 在另一个仓库中重新创建仓库架构。
- 在客户端工具(如 Azure Data Studio 或 Visual Studio Code)中进一步开发仓库架构。
将 SQL 数据库项目发布到新仓库
若要将仓库架构发布到新仓库,请执行以下操作:
部署管道
还可以使用部署管道跨不同环境(例如开发、测试和生产)部署仓库代码。 部署管道不会公开数据库项目。
使用部署管道,完成以下步骤来完成仓库部署。
- 创建新的部署管道或打开现有的部署管道。 有关详细信息,请参阅部署管道入门。
- 根据部署目标将工作区分配到不同的阶段。
- 选择、查看和比较不同阶段之间的项(包括仓库),如以下示例所示。
- 选择“部署”以跨开发、测试和生产阶段部署仓库。
有关 Fabric 部署管道过程的详细信息,请参阅 Fabric 部署管道概述。
源代码管理限制
- 必须使用基于脚本的方法导出/迁移 SQL 安全功能。 请考虑在 SQL 数据库项目中使用部署后脚本,你可以使用 Azure Data Studio 中提供的 SQL 数据库项目扩展来打开项目进行配置。
Git 集成限制
- 目前,如果使用
ALTER TABLE
在数据库项目中添加约束或列,则会在部署时删除表并重新创建,进而导致数据丢失。 请考虑使用以下解决方法来保留表定义和数据: - 目前,不要创建具有仓库的输出目标的 Dataflow Gen2。 如果从 Git 提交和更新,将被存储库中显示的名为
DataflowsStagingWarehouse
的新项阻止。 - Git 集成不支持 SQL 分析终结点。
部署管道限制
- 目前,如果使用
ALTER TABLE
在数据库项目中添加约束或列,则会在部署时删除表并重新创建,进而导致数据丢失。 - 目前,不要创建具有仓库的输出目标的 Dataflow Gen2。 部署将被部署管道中显示的名为
DataflowsStagingWarehouse
的新项阻止。 - 部署管道不支持 SQL 分析终结点。