首页 / 知识
针对代码版本测试和管理数据库版本
2023-04-13 13:47:00

Testing and Managing database versions against code versions在开发应用程序数据库时,不可避免地会弹出更改。我发现的技巧是使数据库构建与代码保持同步。过去,我添加了一个构建步骤,该步骤对目标数据库执行了SQL脚本,但是这样做很危险,因为您可能会无意中添加虚假数据或更糟的数据。 我的问题是使数据库与代码保持一致的提示和技巧是什么?回滚代码怎么办?分支? 数据库中嵌入的版本号很有帮助。您有两种选择:将值嵌入可以查询的表中(允许对多个项目进行版本控制),或者具有可以测试的显式命名对象(例如表等)。 发布到生产环境中时,如果发生意外灾难,您是否有回滚计划?如果这样做,是架构回滚脚本的应用程序吗?使用回滚脚本将数据库回滚到以前的代码版本。 在版本控制的文本文件中定义架构对象和参考数据。例如,您可以使用Torque格式定义架构,并使用DBUnit格式定义数据(两者均使用XML)。然后,您可以使用工具(我们编写了自己的工具)来生成DDL和DML,这些DDL和DML将您从应用程序的一个版本迁移到另一个版本。我们的工具可以将(a)先前版本的架构作为输入 您确实确实希望能够拥有一台干净的机器,从源代码管理中获取最新版本,一步构建,然后一步运行所有测试。加快速度使您可以更快地生产出优质的软件。 就像外部库一样,数据库配置也必须在源代码控制中。 请注意,我并不是说所有实时数据库内容都应位于同一源代码管理中,仅足以使其变为干净状态。 (不过,请备份您的数据库内容!)
尽管这样做是有帮助的(尤其是在新项目的早期阶段),但许多(大多数?)数据库将很快变得太大而无法实现。另外,如果您有任何BLOB,那么在为整个数据库生成SQL脚本时将遇到问题。 我肯定对某种数据库版本控制系统感兴趣,但是我还没有发现任何东西。因此,代替解决方案,您会得到我的投票。 :-P n
备份和压缩可以为您提供帮助。抱歉-没有借口不能获得大量要开发的数据。即使只是子集。 我喜欢Django的工作方式。您将建立模型,并且在运行syncdb时它将应用您创建的模型。如果添加模型,则只需再次运行syncdb。每次您进行推送时,让构建脚本执行都会很容易。 当您需要更改已制成的表时,就会出现问题。我认为syncdb不能解决这个问题。这将需要您进入并手动添加表,还需要向模型添加属性。您可能需要对alter语句进行版本控制。但是,这些模型将始终处于版本控制之下,因此,如果需要,您可以在不运行sql脚本的情况下启动db模式并在新框上运行。另一个问题是跟踪您始终需要在数据库中获取的静态数据。 Rails迁移脚本也非常不错。 一个数据库版本控制系统会很棒,但是我真的不知道这件事。 |
最新内容
相关内容
linux数据库同步命令?
linux数据库同步命令?,信息,系统,汽车,车辆,服务,工作,通信,一致,分析,数据,DB2数据库在linux操作系统的指令有哪些?1、linux系统常用操作命令linux下载步骤命令?
linux下载步骤命令?,系统,软件,网络,电脑,官网,名称,管理,工具,位置,盘中,安装Linux系统的步骤是什么1、安装 Linux 的步骤如下:准备一个可启动linux命令进数据库?
linux命令进数据库?,地址,系统,名字,服务,密码,命令,读法,数据库,操作系统,主机,linux系统mysql数据库怎么进入数据库首先确保linux下mysql安linux清空表数据命令?
linux清空表数据命令?,系统,数据,软件,名称,不了,命令,文件,电脑,地址,位置,Linux删除文件的命令?1、linux 删除文件指令:输入rd盘符名:\文件夹linux集群命令同步?
linux集群命令同步?,时间,工作,服务,地址,系统,环境,管理,软件,信息,传播,linux集群怎么配置集群同步1、--set tcp tcpfin udp 设置连接超时值linux数据库检查命令?
linux数据库检查命令?,服务,状态,地址,位置,系统,信息,命令,工作,情况,密码,在linux中,怎样查看Mysql服务运行状态?1、psaux或netstat-tlunppslinux命令进去数据库?
linux命令进去数据库?,地址,服务,名字,系统,数据库,工具,基础,工作,管理,网络,linux系统mysql数据库怎么进入数据库(linux进入mysql数据库命令linux数据库基础命令?
linux数据库基础命令?,地址,工作,基础,系统,命令,信息,情况,工具,设备,目录,linux下基本命令使用讲解对Linux操作系统进行维护操作的实用命令linux命令同步天翼云?
linux命令同步天翼云?,工作,地址,系统,信息,命令,网络,管理,目录,服务,实战,怎么用linux操作系统命令云计算节点服务器第一阶段:主要学习Linuxlinux文件夹同步命令?
linux文件夹同步命令?,工作,认证,信息,位置,密码,名字,服务,系统,文件,命令,linux下使用rsync同步文件时、如何判断单个或某个文件同步是否成linux数据共享命令?
linux数据共享命令?,情况,系统,工具,网络,数据,软件,发行,设备,命令,文件,Linux文件系统操作命令df命令:用于显示文件系统的磁盘空间使用情况,包命令发送数据linux?
命令发送数据linux?,数据,地址,时间,工具,系统,设计,工作,网络,命令,综合,linux向目标主机www.sohu发送数据包命令Tracert 命令用 IP 生存时间