当前位置:  开发笔记 > 数据库 > 正文

如何对SQL Server数据库进行版本控制?

如何解决《如何对SQLServer数据库进行版本控制?》经验,为你挑选了2个好方法。

我需要将版本放到SQL Server 2005数据库上,并从.NET应用程序中访问它们.我在想的是在数据库上使用名为"version"的扩展属性,当然值将是数据库的版本.然后,我可以使用SQL来实现此目的.我的问题是这听起来像一个好的计划还是有更好的方法将版本添加到SQL Server数据库?

让我们假设我无法使用表来保存元数据.



1> Matt Brunell..:

我这样做:

创建架构表:

CREATE TABLE [dbo].[SchemaVersion](
    [Major] [int] NOT NULL,
    [Minor] [int] NOT NULL,
    [Build] [int] NOT NULL,
    [Revision] [int] NOT NULL,
    [Applied] [datetime] NOT NULL,
    [Comment] [text] NULL)

更新架构:

INSERT INTO SchemaVersion(Major, Minor, Build, Revision, Applied, Comment)
VALUES (1, 9, 1, 0, getdate(), 'Add Table to track pay status')

获取数据库架构版本:

SELECT TOP 1 Major, Minor, Build from SchemaVersion
ORDER BY Major DESC, Minor DESC, Build DESC, Revision DESC

改编自我对Coding Horror的看法



2> 小智..:

我们按照您的描述使用扩展属性,它的效果非常好.

我认为拥有一张桌子有点矫枉过正.如果我想跟踪数据库中的差异,我使用源代码控制并将所有数据库生成脚本保留在其中.

我还使用了一些ER图工具来帮助我跟踪数据库版本的变化.这不在实际应用程序之内,但它允许我快速查看更改的内容.

我认为这是CASEStudio,或类似的东西.

推荐阅读
拾味湖
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有