gpt4 book ai didi

sql-server - 验证数据库更改(版本控制)

转载 作者:太空狗 更新时间:2023-10-30 01:43:59 42 4
gpt4 key购买 nike

我已经阅读了很多关于数据库版本控制的重要性的文章。但是,我找不到一个简单的解决方案来检查数据库是否处于应有的状态。

例如,我有一个数据库,其中包含一个名为“Version”的表(版本号存储在那里)。但是开发人员可以在不更改版本号的情况下访问和编辑数据库。例如,如果开发人员更新存储过程但不更新版本数据库状态与版本值不同步。

如何跟踪这些变化?我不需要跟踪更改的内容,而只需要检查数据库表、 View 、过程等是否与保存在 Version 表中的数据库版本同步。

为什么我需要这个?进行部署时,我需要检查数据库是否“正确”。此外,并非所有表或其他数据库对象都应该被跟踪。是否可以在不使用触发器的情况下进行检查?没有 3rd 方工具可以完成吗?数据库有校验和吗?

假设我们使用 SQL Server 2005。

编辑:

我想我应该提供更多关于我们当前环境的信息——我们有一个“基线”,其中包含创建基本版本所需的所有脚本(包括我们应用程序的数据对象和“元数据”)。然而,这个“基本”版本的许多安装都带有一些额外的数据库对象(额外的表、 View 、过程等)。当我们对“基础”版本进行一些更改时,我们还必须更新一些安装(不是全部)——那时我们必须检查“基础”是否处于正确状态。

谢谢

最佳答案

您似乎违反了“Three rules for database work”的第一条和第二条规则。每个开发人员使用一个数据库,并为您的模式使用一个单一的权威来源,这已经很有帮助了。然后,我不确定你有一个 Baseline对于您的数据库,更重要的是,您正在使用 change scripts .最后,您可能会在 Views, Stored Procedures and the Like 中找到一些其他答案。在Branching and Merging .

实际上,Jeff Atwood 的这篇精彩文章中提到了所有这些链接:Get Your Database Under Version Control .必读恕我直言。

关于sql-server - 验证数据库更改(版本控制),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1534579/

42 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com