Heim > Datenbank > MySQL-Tutorial > Hauptteil

原创:通过VS 2010+SVN为SQL Server提供数据库版本管理

WBOY
Freigeben: 2016-06-07 17:44:08
Original
1186 Leute haben es durchsucht

原创:通过VS 2010+SVN为SQL Server提供数据库版本管理 对于一个软件企业来说,源代码就是公司全体智慧的结晶,绝不能有任何闪失。但对于公司产品的基石数据库怎么来进行统一管理呢?通常,是直接备份数据库文件的方式,或者生成数据库的部署脚本,来重复的

原创:通过VS 2010+SVN为SQL Server提供数据库版本管理

    对于一个软件企业来说,源代码就是公司全体智慧的结晶,绝不能有任何闪失。但对于公司产品的基石数据库怎么来进行统一管理呢?通常,是直接备份数据库文件的方式,或者生成数据库的部署脚本,来重复的备份。这个方法可行,却有些值得改进的地方。首先,太繁琐了,浪费精神;其二,不方便和其它项目同时管理。下面,就介绍我偶然看到的方法,当然,可能有很多人已经这么做了,但分享给那些还不知道的人。

大体思路:

 

本示例采用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项目。

可以看到刚刚新建的表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项目生成部署脚本。

转载请注明作者博客地址:

posted on

,美国空间
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage