我已经阅读了很多关于数据库版本控制重要性的帖子.但是,我找不到一个简单的解决方案,如何检查数据库是否处于应该的状态.
例如,我有一个名为“Version”的数据库(版本号存储在那里).但是开发人员可以在不更改版本号的情况下访问和编辑数据库.如果例如开发人员更新存储过程但未更新版本数据库状态与版本值不同步.
如何跟踪这些变化?我不需要跟踪更改的内容,只需要检查数据库表,视图,过程等是否与Version表中保存的数据库版本同步.
为什么我需要这个?在进行部署时,我需要检查数据库是否“正确”.此外,不应跟踪所有表或其他数据库对象.是否可以不使用触发器进行检查?是否可以在没有第三方工具的情况下完成?数据库是否有校验和?
让我们说我们使用sql Server 2005.
编辑:
我想我应该提供更多关于我们当前环境的信息 – 我们有一个“基线”,其中包含创建基本版本所需的所有脚本(包括我们应用程序的数据对象和“元数据”).但是,这个“基础”版本的许多安装带有一些额外的数据库对象(附加表,过程等).当我们对“基础”版本进行一些更改时,我们还必须更新一些安装(不是全部) – 那时我们必须检查“基础”是否处于正确状态.
谢谢