问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

版本控制是什么

发布网友 发布时间:2022-04-26 16:24

我来回答

2个回答

懂视网 时间:2022-04-08 12:51

前言


开发过程中的版本号控制非经常见,但在数据库的世界来说。版本号控制就是二等甚至三等公民了。当多人同一时候开发一个数据库管理和应用系统时,採用合理的方法监控数据库中表、存储过程和视图等对象的变动是非常重要的。每次更改数据库。都须要做具体的记录,稍不留神就出问题。我任职过的几家公司在开发流程中的版本号控制做的非常到位,但数据库方面却是一片空白。在开发过程中,经常会涉及到表上添加列、改动列、改动存储过程和视图,发生变化后,之前的数据库对象定义就丢失了,给开发带来非常多的麻烦。以下说说我解决没有数据库版本号控制机制所引起的麻烦的思路。

 

备份数据库


解决这个麻烦我们最開始的思路就是备份数据库,每隔几天备份一次数据库,当须要找历史数据库对象时将备份库还原到測试机上再把相应的存储过程或者表定义找出来。

这样的方式使用过程中就发现非常多问题。首先每次须要查看历史记录的时候去还原备份非常麻烦,其次随着开发的进行,非常难记得清是谁在什么时间改了什么数据库对象,必须把一段时间内的备份都还原了再进行查找。这个过程不仅让人非常恼火,也非常浪费时间精力,假设备份间隔过长,期间变更的对象定义就无法找回了。

 

导出数据库对象


后来的解决思路就是每次改动数据库对象的时候将数据库对象的定义以.sql的方式存入SVN,这样的方式非常麻烦。

非常多时候开发者偷懒忘记签入SVN了,则会引起非常大问题。新添加团队的人也非常难看清版本号改动的来龙去脉。

此外。这样的方式非常不直观。假设希望看到一个数据库对象的历史版本号记录,则还要去SVN中查找。显示也非常不直观

        另一个问题是团队中的开发DBA非常不习惯使用SVN。

 

将版本号记录存入数据库


这样的方式是我在网上看到过的。是在数据库中通过触发器对于数据库的变更操作进行记录。作为开发出身的人来说。对这样的方式就不是非常喜欢。

况且去历史表中找版本号改动记录本来就是一件费时费力的事。

 

使用第三方工具


如今一些第三方公司已经开发了针对数据库的版本号控制工具。我们之前以前尝试过RedGate的SQLSource Control(http://www.red-gate.com/products/sql-development/sql-source-control/),SQLSource Control的原理是基于SVN,使用起来不是非常符合团队的使用习惯,易用性不够,在团队推广的培训成本也比較高。

技术分享

近期团队在使用的另一个工具是一个非常易用的中文版数据库版本号控制软件。叫做SourceSafe for SQL Server(http://www.grqsh.com/products.htm?tab=sourcesafe-for-sql-server), Source Safe for SQL Server的原理是将变更记录存入版本号库,定期能够将数据库定义的脚本导入SVN,数据库版本号的历史记录能够像在SVN中那样查看,团队推广的培训成本也比較低。帮助我们攻克了非常多团队中的问题。

技术分享

 

 

后记


数据库版本号化看似是个可有可无的过程,但做好了,能够降低开发和实施甚至是生产环境中的非常多麻烦,我们的系统就是个活生生的样例。本文所阐述的方法是来自之前团队的经验。开发团队的发展都会经历从幼稚到成熟。借鉴成熟工具的经验和方法,促进了解并解决这一问题可以减少,以提高生产效率损失。

版权声明:本文博客原创文章,博客,未经同意,不得转载。

为什么数据库版本控制是必要的

标签:

热心网友 时间:2022-04-08 09:59

版本控制(Revision control)是一种软件工程技巧,籍以在开发的过程中,确保由不同人所编辑的同一档案都得到更新。
版本控制透过文档控制(documentation control)记录程序各个模组的改动,并为每次改动编上序号。这种方法是维护(maintenance) of 工程图(engineering drawings)的标准做法, 它伴随着工程图从图的诞生一直到图的定型。 一种简单的版本控制形式,例如,赋给图的初版一个版本等级“A”。当做了第一次改变后,版本等级改为“B”,以此类推等等。.

版本控制系统:
1.软件系统的版本控制是指可以自行运行的各子系统的版本控制。
2.软件系统的版本号由评测小组的人员确定,由评测小组进行版本控制工作。
3.软件系统的版本号由3部分构成,即主版本号+次版本号+修改号。主版本号1位,只有当系统在结构和功能上有重大突破改进后才发生变化;次版本号有2位;修改号8位,采用提交时的日期,当系统进行任何修改后,包括数据库结构发生变化,修改号都要随之改变。例如:Ver3.31.19990317
4.各子系统的版本号独立。
5.各软件系统应该有显示详细版本号的功能。例如help菜单下的about功能。系统提交存档时,评测服务部要进行版本号检查。
6.新系统开发完成、或已存档的系统进行修改,修改完成后,进行提交存档时,由评测评测小组系统分析工程师确定新版本号、或更改版本号。
7.软件系统,产生新的版本后,老版本的软件系统是否继续保存,取决于以下条件:
a.老版本的系统如果有客户还在使用,在客户升级以前,必须继续保存。
b.老版本的系统已经没有客户使用了,并且新版本的系统已经把老系统的文档完整地升级过来,这样可以删除或覆盖老版本的系统资源。
c.对于要删除或覆盖的老版本系统,可以统一备份起来。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
瑞尼世家金鬼手表怎么样? 好友戴的瑞尼世家手表,很漂亮,想问下这个表值得选吗? win10系统怎么取消开机电脑win10系统的电脑怎样取消开机密码 win10电脑待机时间win10电脑自动待机怎么取消 win7系统锁屏怎么取消 win7取消电脑自动睡眠win7怎么取消电脑自动锁屏 电脑关闭锁屏win10win10电脑如何关闭自动锁屏 电脑怎么不锁屏电脑如何设置永不锁屏 儿童公园地址 怎么剑魂的技能这么少...都不厉害的呀?? SVN(版本控制系统)是个什么东西? 版本控制软件的总结 大家都用什么软件来做文档的版本管理呢? Vivo手机怎么藏 游戏? vivoy7s屏幕如何隐藏游戏? VIVO如何把游戏藏起来? vivos6如何将游戏隐藏? 如何做麻辣排骨串 红烧麻辣排骨的做法如何?谁能帮帮我? 泰迪熊是哪个国家的品牌? 辣子排骨的家常做法 给泰迪熊取名字 排骨别再清炖红烧,大厨教你简单好吃做法,麻辣干香又下饭 世界上最好的泰迪熊是什么牌子的? 有没有和《泰迪熊》这个电影上的泰迪... 泰迪熊究竟是怎么样的? 泰迪熊的故事?? 给红色泰迪熊起个好听洋气的名字 真实的泰迪熊是什么样? 泰迪熊的特点 美的洗衣机MB80-8000QCS的过滤器在哪里?怎么拆? 版本控制的系统特征 读作是什么意思呢? 读作是什么意思? “读作”和“写作”的区别? 鸡蛋手抓饼的做法,火腿鸡蛋手抓饼怎么做好 鸡蛋手抓饼怎么做 数学中的“写作”、“记作”和“读作”是什么意思? 怎么做鸡蛋手抓饼 “读作”是大写还是小写? 现成手抓饼的做法 “读作”是语文字吗? 读作意思是什么意思? 读作怎么读? 41.47读作什么? 90020003020读作:什么? 想自己包粽子怎么做啊?? '演讲,像女人的裙子,越短越好'这话谁讲的 林语堂有句话说 演讲要像裙子一样,越短越好 原话是怎么说的啊 什么样的演讲稿才算是好的? 演讲就应该想美女的裙子,越短越好... 这句话对吗大神们帮帮忙