010-68421378
sales@cogitosoft.com
当前您所在的位置:首页>新闻中心>新品发布

如何使用dbForge Studio for MySQL自动执行测试数据恢复?

发布时间:2020/12/24 浏览量:2083
dbForge Studio for MySQL如何参与DevOps流程

dbForge Studio for MySQL如何参与DevOps流程

当基于复杂的数据库结构开发软件应用程序时,通常有必要在相同的输入数据上运行各种业务逻辑测试方案。 这就是重复恢复测试数据的问题所在。 本文提供了仅使用一种工具dbForge Studio for MySQL自动执行该过程的方法。

测试数据恢复是一个耗时且劳动密集的过程,通常是手动完成的。因此,其自动化对于确保快速,可靠和具有成本效益的交付至关重要。但是,在详细介绍如何借助dbForge Studio for MySQL自动化测试数据恢复过程之前,让我们首先了解一些术语。

 

什么是DevOps?

DevOps是一个相当新的概念,并且正在迅速传播,它描述了一系列旨在使软件开发和交付流程自动化的实践,以便开发和IT团队可以缩短整个服务生命周期并提供持续交付的高质量软件。

 

为什么选择DevOps用于数据库?

数据库更改是执行应用程序部署时延迟的主要原因。因此,旨在提高数据库更改交付速度的数据库开发自动化导致迭代次数缩短,并且无疑对软件应用程序的持续交付产生积极影响。

 

如何使用dbForge Studio for MySQL自动执行测试数据恢复

背景:

假设我们的数据库源代码位于远程存储库上,并且它的测试数据必须从其他来源(例如脚本文件夹,另一个数据库或文件)生成或获取。

先决条件:

 

步骤1.克隆存储库

假设在远程Git存储库中有一个脚本文件夹,我们需要将其用作创建数据库的数据源。首先,我们需要将此远程存储库克隆到本地文件夹。在这个工作示例中,我们将存储库克隆到D:\ Temp \ DevOps_MySQL \。以下是此操作的CMD命令:

git clone https://github.com/repository-name/sakila.git D:\Temp\DevOps_MySQL

哪里:
储存库名 

你要克隆的版本库的名称

sakila

包含您要使用的测试数据的数据库名称

注意:在运行上述命令之前,请先确认您的机器上已经安装了Git for Windows客户端。

在运行上述命令之前,请确认您的机器上已经安装了Git for Windows客户端。

 

步骤2.在服务器上创建或重新创建数据库

在服务器上部署数据库之前,需要创建或重新创建数据库(删除旧数据库,然后创建新数据库)。这可以通过数据库创建脚本,CMD和dbForge Studio for MySQL轻松完成。我们不会在本文中强调这一点,因为这些操作非常基础。

要在服务器上创建sakila数据库,我们将使用以下命令行脚本:

dbforgemysql.com /execute /connection:"User Id=%user-name%;password=%your-password%;Host=%your-host%" /inputfile "D:\Temp\DevOps_MySQL\Create_sakila2.sql"

请注意,您需要输入自己的凭据才能使此脚本正常工作。

对于喜欢PowerShell操作环境的用户,我们还提供PS脚本:

.\dbforgemysql.com /execute /connection:"User Id=%user-name%;password=%your-password%;Host=%your-host%" /inputfile "D:\Temp\DevOps_MySQL\Create_Sakila2.sql"

if ($? -eq $true) { Write-host "Database sakila2 created" -ForegroundColor Cyan } else { Write-host "Error" -ForegroundColor Yellow }

同样,不要忘记将自己的凭据添加到脚本中。

 

步骤3.在本地和远程数据库之间同步架构

以下是CMD和PS脚本,用于将空的本地sakila2数据库与远程sakila数据库同步。同步的结果是,将创建在配置模板时选择的所有表,视图,过程,函数和触发器。

CMD

dbforgemysql.com /schemacompare /compfile:"D:\Temp\DevOps_MySQL\sakila vs sakila2.scomp" /sync

@echo %ERRORLEVEL%

PS

.\dbforgemysql.com /schemacompare /compfile:"D:\Temp\DevOps_MySQL\sakila vs sakila2.scomp" /sync

if ($? -eq $true) { Write-host "Objects for sakila2 created" -ForegroundColor Cyan } else { Write-host "Error" -ForegroundColor Yellow }

注意:

提供的脚本表示您先前已经配置并保存了架构比较模板文件(.scomp)以同步指定的数据库。请不要忘记使用dbForge Studio for MySQL的架构比较功能来准备有问题的文件。

 

图片

 

步骤4.用数据填充数据库

在上一步中,我们恢复了数据库结构。现在我们需要的是用测试数据填充数据库。dbForge Studio for MySQL可以拥有三种不同的工具,可用于用数据填充数据库。由于这三个都可以从命令行调用,因此可以在数据库自动化过程中使用,因此我们将分别考虑它们。

使用数据比较功能填充数据库

您可以使用dbForge Studio for MySQL内置的高级“日期比较”功能轻松地还原位于脚本文件夹或其他数据库中的参考数据。使用以下脚本将数据插入国家/地区表:

CMD

dbforgemysql.com /datacompare /compfile:"D:\Temp\DevOps_MySQL\country.dcomp" /sync

@echo %ERRORLEVEL%

PS

.\dbforgemysql.com /datacompare /compfile:"D:\Temp\DevOps_MySQL\country.dcomp" /sync

if ($? -eq $true) { Write-host "Data inserted in sakila2" -ForegroundColor Cyan } else { Write-host "Error" -ForegroundColor Yellow }

注意:

上面提供的脚本表示您先前已配置并保存了数据比较模板文件(.dcomp),以同步指定数据库中的数据。请不要忘记在运行脚本之前准备有问题的文件。

 

图片

 

使用数据导入/导出功能填充数据库

如果参考数据不是存储在数据库本身中,而是存储在单独的文件中,则“数据导入”是用数据填充数据库的最佳选择。dbForge Studio for MySQL提供了一种简单有效的方法,可以使用尖端的数据导入/导出功能将这些数据直接导入所需的表中。

使用以下脚本将数据插入到地址表中:

CMD

dbforgemysql.com /dataimport /templatefile:"D:\Temp\DevOps_MySQL\address.dit"

@echo %ERRORLEVEL%

PS

.\dbforgemysql.com /dataimport /templatefile:"D:\Temp\DevOps_MySQL\address.dit"

if ($? -eq $true) { Write-host "Data inserted in sakila2" -ForegroundColor Cyan } else { Write-host "Error" -ForegroundColor Yellow }

注意:

上面提供的脚本表示您先前已配置并保存了数据导入模板文件(.dit),以便将数据导入指定的表中。请不要忘记在运行脚本之前准备有问题的文件。

 

图片

 

使用数据生成器功能填充数据库

dbForge Studio for MySQL具有强大的生成数据的功能。最适合需要在数据库中填充大量实际数据,但又不能或不希望将大量数据存储在磁盘上的情况。同样,在这种情况下,您已经预先配置了数据生成器模板文件(.dgen),则可以使用以下脚本将数据插入到actor表中:

CMD

dbforgemysql.com /generatedata /projectfile:"D:\Temp\DevOps_MySQL\actor.dgen"

@echo %ERRORLEVEL%

PS

.\dbforgemysql.com /generatedata /projectfile:"D:\Temp\DevOps_MySQL\actor.dgen"

if ($? -eq $true) { Write-host "Data inserted in sakila2" -ForegroundColor Cyan } else { Write-host "Error" -ForegroundColor Yellow }

注意:

在运行上面提供的脚本之前,配置和保存数据生成器模板文件(.dgen)非常重要。

 

图片

 

本文中提供的所有脚本均返回退出状态。结果,如果您编译了三个脚本(用于还原数据库结构,同步数据库架构和填充数据库),则将获得一个MySQL数据库自动化脚本,用于还原测试数据,从而可以监视和控制执行阶段。

 

结论

dbForge Studio for MySQL是功能丰富的IDE,使您可以轻松地将DevOps方法扩展到MySQL和MariaDB数据库的开发和部署。

下一篇:完整的jQuery UI组件库Kendo UI for jQuery全新发布R3 2020
上一篇:Wolfram创新奖2015(四)

                               

 京ICP备09015132号-996网络文化经营许可证京网文[2017]4225-497号 | 违法和不良信息举报电话:4006561155

                                   © Copyright 2000-2023 北京哲想软件有限公司版权所有 | 地址:北京市海淀区西三环北路50号豪柏大厦C2座11层1105室

                         北京哲想软件集团旗下网站:哲想软件 | 哲想动画

                            华滋生物