数据库对象的版本控制


19

我们的开发人员正在使用的数据库太大(有很多数据库对象)。我们必须控制db对象的更改(更改管理)。我们公司不能只有一个人负责数据库更改。因此,我们需要一个用于数据库对象的安全源,例如用于标准代码的版本控制,但与数据库更相关,可以同步数据库和脚本。什么是最好的。可靠,便宜,实用-选择两个:)


Answers:





5

我们的团队使用Visual Studio 2010数据库项目。我们的大多数项目都依赖于MS Team Foundation Server进行源代码控制,该服务器可以无缝集成,但是最近我发现它可以在其他源代码系统上工作(只有一点点痛苦)。我们在Perforce上有一个这样的项目。VS2010的构建和部署功能运行良好,可以使用PowerShell进行自动化(例如,如果您想还原基准以测试部署,则非常有用)。例如,如果您想要完整或差异部署目标,则可以创建不同的配置。

您还可以在部署中包括数据填充或其他脚本,这些脚本也受版本控制。可以通过签入创建的脚本来管理数据库对象,或者可以使用更直观的架构视图。跟踪所有依赖关系。您可以在源代码管理下管理SQL Server DB的各个方面,包括所有属性,文件和文件组以及权限。非常适合保持标准和实践。它具有可视化的数据库差异工具,我更喜欢Red-Gate实现此功能,但是您不使用图形比较来在VS2010中创建部署,并且随着我对MS版本及其数量的逐渐适应,它变得毫无意义。帮助我保持数据库项目整洁。

不幸的是,我无法在此深度上与将数据库保持在源代码控制之下的其他系统进行比较。我已经在“开发人员纪律”方面进行了很多工作,但是我不再考虑使用该系统,并且再也不想再使用它了。使用SSMS SVN插件也有短暂的经历,但是那是很久以前的事了。为此,我们必须使用Red-Gate生成部署脚本。




0

SQL Server 2008 R2(及更早版本)源代码控制供参考:数据库对象不受源代码控制提供程序的直接保护……这意味着您仍然必须使用严格的约定……因为您仍然可以使用其他工具对数据库对象进行更改…… http:/ /technet.microsoft.com/zh-CN/library/ms173550%28v=sql.105%29.aspx

与MS数据库项目不同,RedGate SQL Source Control将您的数据库连接到您的版本控制系统… http://www.red-gate.com/products/sql-development/sql-source-control/



0

我们的系统Sql Historian通过自动将最新版本的db对象维护为SVN或TFS,从而消除了对“开发人员纪律”的需求。它的设计对开发人员当前的工作流程透明,因此您将在版本控制中拥有完美的记录,而不会浪费时间或受到员工的抱怨。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.