【问题标题】:Put Azure SQL Database under Git version control将 Azure SQL 数据库置于 Git 版本控制之下
【发布时间】:2020-05-16 12:33:00
【问题描述】:

我正在开发 Azure SQL 数据库,并在 Azure Devops 中使用 Git。

现在,我将架构转储到文本文件中,并将其置于版本控制之下。

但是,是否有一种内置方法可以将所有架构更改置于版本控制之下?

【问题讨论】:

  • 您可以使用 Visual Studio 数据库项目 (SSDT)。除了版本控制集成之外,SSDT 还包括许多您可能会觉得有用的工具,例如模式比较,并可用于对现有数据库进行逆向工程。
  • 正如 Dan 提到的,您可以使用 SSDT 并将 SSDT 项目连接到 azure 管道,该管道会将项目编译为 daq-pac。然后可以将其设置为针对管道中的数据库自动运行,这意味着您的数据库将始终与您的主分支保持同步

标签: sql-server git azure-devops azure-sql-database


【解决方案1】:

正如 Dan 在评论中提到的,您可以在安装 SQL Server Data Tools 后使用 Visual Studio:

SQL Server Data Tools - Microsoft

这将允许您在 Visual Studio 中创建一个数据库项目,让您以结构化的方式查看表和视图等对象。

或者您可以将数据库逆向工程到 Visual Studio,如果您的 Azure SQL 数据库已启动并正在运行,这将更适合您:

Reverse Engineer Database - MS SQL Tips

在 Visual Studio 中创建项目后,您可以将项目添加到 Azure Devops 中的 git 存储库。我假设您知道如何使用文本文件执行该操作?

从这里开始,你的世界就是你的牡蛎,你可以在 Azure DevOps 中创建构建和发布管道,或者从 Stackoverflow 简要介绍 here 从 Visual Studio 发布的老式老式路径。

【讨论】:

  • 这是使用 Visual Studio 完成此任务的一个很好的建议。我会试一试的。
  • Visual Studio、Git 和 DevOps 齐头并进
【解决方案2】:

您也可以使用像 RedGate Source Control 这样的工具。在 Azure DevOps 上创建一个存储库,将数据库项目放在那里,创建自己的分支。将数据库克隆到本地计算机,然后在本地 SQL Server 实例上创建本地空白数据库。

现在将数据库与 RedGate Source Control 链接,获取最新更改,然后开始在本地计算机上进行更改。从那里您可以提交自己的更改。该工具将帮助与其他人分享更改并帮助您处理冲突。

Here你会找到一个例子。

【讨论】:

    【解决方案3】:

    您可以尝试DB Version Control - 它会生成迁移脚本以及将数据库对象和静态数据写入文件的脚本(您可以使用任何版本控制系统进行版本控制,例如 GIT)。

    要进行部署,请在 Azure 管道中使用 Powershell cmdlet。

    【讨论】:

      【解决方案4】:

      正在开发一个开源解决方案来解决这个问题。试试AzureDbUp - 它支持 Azure SQL、Azure DevOps 和 Azure AD。让开发人员将 sql 迁移脚本提交到 repo,然后构建一个执行它们的发布管道。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-11-22
        • 1970-01-01
        • 2014-04-01
        • 2012-08-10
        • 2015-01-17
        • 2016-03-03
        相关资源
        最近更新 更多