为什么说数据库版本控制是必须的
前言 开发过程中的版本控制非常常见,但在数据库的世界来说,版本控制就是二等甚至三等公民了。当多人同时开发一个数据库管理和应用系统时,采用合理的方法监控数据库中表、存储过程和视图等对象的变动是非常重要的,每次更改数据库,都需要做详细的记录,稍
前言
开发过程中的版本控制非常常见,但在数据库的世界来说,版本控制就是二等甚至三等公民了。当多人同时开发一个数据库管理和应用系统时,采用合理的方法监控数据库中表、存储过程和视图等对象的变动是非常重要的,每次更改数据库,都需要做详细的记录,稍不留神就出问题。我任职过的几家公司在开发流程中的版本控制做的非常到位,但数据库方面却是一片空白,在开发过程中,经常会涉及到表上增加列、修改列、修改存储过程和视图,发生变化后,之前的数据库对象定义就丢失了,给开发带来非常多的麻烦,下面说说我解决没有数据库版本控制机制所引起的麻烦的思路。备份数据库
解决这个麻烦我们最开始的思路就是备份数据库,每隔几天备份一次数据库,当需要找历史数据库对象时将备份库还原到测试机上再把对应的存储过程或者表定义找出来。这种方式使用过程中就发现很多问题,首先每次需要查看历史记录的时候去还原备份非常麻烦,其次随着开发的进行,很难记得清是谁在什么时间改了什么数据库对象,必须把一段时间内的备份都还原了再进行查找。这个过程不仅让人很恼火,也非常浪费时间精力,如果备份间隔过长,期间变更的对象定义就无法找回了。导出数据库对象
后来的解决思路就是每次修改数据库对象的时候将数据库对象的定义以.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中那样查看,团队推广的培训成本也比较低。帮助我们解决了很多团队中的问题。
后记
数据库版本化看似是个可有可无的过程,但做好了,可以减少开发和实施甚至是生产环境中的很多麻烦,我们的系统就是个活生生的例子。本文所阐述的方法是来自之前团队的经验。开发团队的发展都会经历从幼稚到成熟,借鉴成熟工具的经验和方法论,提前认识并解决问题可减少损失提升生产力。
热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

本文介绍了免费的数字资产行情软件APP和网站,它们能为投资者提供实时价格、价格图表、交易量、涨跌幅、市场深度和新闻资讯等关键信息,帮助投资者做出明智的决策。 与收费软件相比,免费软件具有无需成本、功能丰富、操作简便等优势。 文章还指导用户如何选择合适的行情软件,并提醒用户注意数据来源、信息准确性和避免过度依赖等问题,最终助力投资者更好地把握数字资产市场动向。 想要了解如何高效利用免费行情软件?赶紧阅读全文!

Coinbase安全登录指南:如何避免钓鱼网站和诈骗? 网络钓鱼和诈骗日益猖獗,安全访问Coinbase官方登录入口至关重要。本文提供实用指南,帮助用户安全地找到并使用Coinbase最新官方登录入口,保护数字资产安全。我们将介绍如何识别钓鱼网站,以及如何通过官方网站、移动应用或可信第三方平台安全登录,并提供加强账户安全的建议,例如使用强密码和启用双重验证。 避免因错误登录导致资产损失,请务必仔细阅读本文!

Finalbosu是一个建立在抽象链上的社区驱动的NFT专案,将令人惊叹的动漫风格艺术作品与动态游戏玩法相结合,让玩家沉浸在一个丰富、不断发展的宇宙中。Finalbosu的座右铭是“克服一切困难”,旨在通过允许持有者塑造其角色、故事情节和品牌方向的未来,寻求在Web3游戏和NFT生态系统中开辟自己的利基市场。该专案已经获得了巨大的吸引力,其原始收藏的底价为1.9ETH——证明了强劲的市场需求和其不断壮大的社区的坚实支援。现在,随着Finalbo

本文提供免费数字资产行情软件全方位指南,助您零成本掌握市场脉搏。 在数字资产交易中,及时精准的行情数据至关重要,但昂贵的付费软件令许多新手望而却步。 幸运的是,众多免费的APP和网站提供实时价格追踪、历史数据回顾、交易量监控等功能,帮助您洞悉市场动态,做出明智决策。 文章将详细介绍免费行情软件的类型、选择技巧及注意事项,让您在风险极高的数字资产市场中,安全高效地进行投资。

本文提供Huobi交易所官网登录入口的最新信息,并强调获取最新入口的重要性,因为过时链接可能导致无法访问或安全风险。文章指出获取最新入口的途径包括:官方网站公告、Huobi官方客服以及可信的第三方平台。 此外,文章还提醒用户访问Huobi交易所时需注意核对域名、检查安全证书、启用双重验证以及谨防诈骗信息,以保障账户安全和资金安全。 选择正规渠道登录Huobi交易所,才能安全进行数字资产交易。

本文详细介绍了如何在欧易OKX交易所官网注册账户,并开始加密货币交易。欧易作为全球领先的加密货币交易所,提供丰富的交易品种、多种交易方式和强大的安全保障,并支持多种法币和加密货币的便捷出金。文章涵盖了欧易官网注册入口查找方法、详细注册步骤(包括邮箱/手机注册、信息填写、验证码验证等),以及注册后的注意事项(KYC认证、安全设置等),并解答了常见问题,帮助新手用户快速安全地完成欧易账户注册,开启加密货币投资之旅。

Analog:Layer0区块链互操作性解决方案,实现多链生态无缝交互Analog是一款专注于区块链互操作性的Layer0协议,它利用其独有的时间链(Timechain)技术实现跨链通信和事件数据验证。其核心目标是解决多链生态的碎片化问题,通过去中心化的通用消息传递框架(GMP),让不同区块链能够无缝协作。Analog还创新性地采用了PoT(时间证明)共识机制,在时间链上生成可验证的事件数据,助力开发者构建新一代基于事件的应用。ANLOG代币:生态系统核心ANLOG是Anal

比特币:数字黄金还是炒股衍生品?深度解析其投资本质比特币作为一种新兴的投资方式,其价格波动剧烈,与股票市场交易规则存在相似之处,引发了人们对其投资本质的疑问:炒比特币究竟是否等同于炒股?本文将从定义、性质、发行机制等方面深入探讨,揭开比特币投资的神秘面纱。比特币与股票:本质区别答案是:炒比特币并不等同于炒股。比特币是一种去中心化的数字货币,属于数字资产或虚拟资产范畴,其交易完全由用户自主控制,采用点对点(P2P)传输模式,形成去中心化的支付系统。这一概念由中本聪于2009年提出。不同于传统货币,
