共享数据库开发的版本控制选项(架构和数据)

时间:2018-03-20 21:17:02

标签: sql sql-server versioning

我们有多个运行应用程序(应用程序+数据库)(Dev,Test,Prod)。

我们的实施流程目前如下:

  • 多个数据库开发人员在同一个数据库上工作(应用程序由另一个团队开发)
  • 数据库开发过程包含添加/更改数据库对象和配置应用程序对象
  • 应用程序对象存储在数据库表(我们称之为内核表)中作为数据
  • 数据库连接到应用程序的实例,开发人员不可能在其本地计算机上运行自己的应用程序实例。 (我知道这不是最好的方法,但目前我们不能因各种原因做不同的事情)

我们想找出一种方法和工具(最好是免费或至少不是很贵) 在功能级别上进行版本控制,通常,一个开发人员在一个功能上工作。最后,该功能通常是一些数据库对象(表,视图,存储过程)和插入内核(应用程序)表中的数据。开发人员不控制应用程序输入的数据。

内核表通常具有自动递增的主键,以及其他内核表上的外键等依赖项。

最终目标是实现持续集成流程。这意味着我们希望拥有一个自动化流程,可以进行一些测试并将我们的功能填充到其他环境中。

我们正在使用SQL Server 2014和Azure SQL数据库。

您是否有任何经验/想法如何处理这种情况?

由于

1 个答案:

答案 0 :(得分:0)

您可以将Visual Studio社区https://www.visualstudio.com/vs/community/与SSDT(SQL Server开发人员工具)工具https://docs.microsoft.com/en-us/sql/ssdt/download-sql-server-data-tools-ssdt

一起使用

您现在可以创建一个SQL数据库项目,它可以处理所有数据库对象。此外,您可以使用GIT工具(github或vsts(https://www.visualstudio.com/)来存储和共享您的代码(私下)。

使用这些工具,您可以管理Azure SQL数据库和SQL Server数据库。

以下是这些工具的完整指南:https://msdn.microsoft.com/en-us/library/xee70aty.aspx