通过VS 2010+SVN为SQL Server提供数据库版本管理
来源:互联网 发布:scrivener mac 编辑:程序博客网 时间:2024/05/18 03:45
对于一个软件企业来说,源代码就是公司全体智慧的结晶,绝不能有任何闪失。但对于公司产品的基石数据库怎么来进行统一管理呢?通常,是直接备份数据库文件的方式,或者生成数据库的部署脚本,来重复的备份。这个方法可行,却有些值得改进的地方。首先,太繁琐了,浪费精神;其二,不方便和其它项目同时管理。下面,就介绍我偶然看到的方法,当然,可能有很多人已经这么做了,但分享给那些还不知道的人。
大体思路:
- VS 2010 提供了一个项目类型,新建->数据库->SQL Server 2005 数据库对象 或 SQL Server 2008 数据库对象,完整的提供了SQL Server 的定义创建和生成部署脚本功能。
- 通过VS 2010下的数据->架构比较(Schema Compare)能将SQL Server数据库和SQLServer数据库项目差异比较出来,并提供双向同步功能。
- Subversion,提供基于文本的SQL语句版本管理支持。
本示例采用VisualSVN-Server(Subversion 服务器)、AnkhSvn(VS 2010的Svn 插件)、SQL Server2005、VS 2010,示例数据库为AdventureWorks。
因为安装的是英文版的VS2010,大家就对应着中文的看吧。
第一步:通过VS 2010 创建数据库项目。打开VS 2010,File->New->Project,在Recent Templates中选中Database->SQL Server,并在右面的项目类型中选中SQL Server 2005 Database Project,输入项目名称,并点击OK。
第二步:在新建的ExampleSystemSQL项目上点右键,选中菜单中的Import Database Objects and Settings,
会弹出一个对话框,让我们选择数据库。可以通过Tools->Connect to Database创建。为了简单,就直接选已有的AdventureWorks连接。
单击Start就开始将SQLServer2005中数据库AdventureWorks的定义取回到项目中来。
点击Finish,就可以看到AdventureWorks的定义了。
第三步,将整个项目添加到版本管理中。事先已在一台服务器上安装了VisualSVN-Server-2.5.8,并创建了一个库叫Unique,SVN地址是:https://server2003/svn/unique。同样,选中ExampleSystemSQ项目点右键,选择里面的Add Sulution to Subversion…
在弹出的对话框中输入Repository Url,https://server2003/svn/unique,如下图,并点击OK。如果需要认证的话,就输入在VisualSVN-Server中建立的用户名和密码。
在弹出的日志输入对话框中直接点击OK。刚才的步骤只是把项目添加的svn副本的本地,还没有提交,所以需要再次在解决方案上点右键,选中Commit Solution Changes,输入日志,点击OK,就行了。
至此,我们为AdventureWorks数据库创建了版本管理,那如果我们修改了AdventureWorks呢,该怎么实现同步呢,下面,就是VS 2010的强大之处了。首先,在AdventureWorks中创建了一个新表名字叫dbo.Table_1。再打开VS 2010中的Data->Schema Compare(架构比较)-> New Schema Comparison,配置源数据库和目标项目,如下图所示。Source Schema选择数据库,Target Schema 选择Project ExampleSystemSQL项目。
点击OK,VS 2010就开始进行架构比较,结果如下图:
可以看到刚刚新建的表Table_1,在空白处,点击右键,选择Write Updates,在确认对话框中点击OK,就会把新建表Table_1的定义保存到项目中。
马上,就可以在VS项目中看到新添加的Table_1的SQL脚本文件了。
接下来,就可以将更新的脚本提交到SVN中,与普通的C#项目没什么差别。
值得注意的一点是,在VS 2010 项目ExampleSystemSQL中,可以直接添加新表的定义,再同步到AdventureWorks数据库中,也是通过Data->Schema Compare(架构比较)->New Schema Compasion来实现的。同步是双向的。VS 2010 可以对ExampleSystemSQL项目生成部署脚本。
转载请注明作者博客地址:http://www.cnblogs.com/ProJKY
- 通过VS 2010+SVN为SQL Server提供数据库版本管理
- sql server 数据库管理
- 【数据库】Oracle vs SQL Server
- SQL Server为Web浏览器提供图像
- SQL Server 2005将某些数据库行为设置为与指定的 SQL Server 版本兼容
- 引领 你用SQL Server的XML特征为你的数据库提供新的功能
- ubuntu下安装svn提供HTTP版本管理服务
- 查询SQL SERVER 数据库版本
- 查看Sql Server 数据库版本
- 使用vss为vs.net2003提供源代码管理
- SQL Server附加数据库提示“版本为661,无法打开,支持655版本……”
- SQL Server附加数据库提示“版本为661,无法打开,支持655版本……”
- Windows Server 2003 为 SQL Server 2000 提供的支持
- SQL Server 数据库表管理
- 《SQL Server》之 数据库管理
- 版本管理----SVN+Apache+Ankhsvn+VS 2005+TortoiseSVN
- SQL SERVER 通过函数取得数据库名 ,登录者,版本的方法
- vs如何连接连接sql server数据库?
- 深入分析为Visual Assist设置快捷键的方法
- POJ 1157 LITTLE SHOP OF FLOWERS(DP)
- VS2010上MFC项目出现 \VC\bin\rcdll.dll 无法找到资源编译器
- 常见的typedef、define、const、static使用辨析
- UVC定义在 kernel中的结构体
- 通过VS 2010+SVN为SQL Server提供数据库版本管理
- 火狐浏览器多次弹窗被阻止失效设置
- Lucene4.10使用教程(九):Tika
- release下没错,debug却出错
- 开源 iOS 项目分类索引大全
- POJ 1163 The Triangle(DP)
- Valgrind 安装与使用
- Hibernate get和load区别
- 文件剪切 及 timertask 定时任务