翻譯|使用教程|編輯:鮑佳佳|2020-12-28 11:51:04.007|閱讀 194 次
概述:當基于復雜的數據庫結構開發軟件應用程序時,通常需要在相同的輸入數據上運行各種業務邏輯測試方案。這就是重復恢復測試數據的問題所在。本文提供了僅使用一種工具dbForge Studio for MySQL自動化該過程的最簡單方法 。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
dbForge Studio for MySQL是一個在Windows平臺被廣泛使用的MySQL客戶端,它能夠使MySQL開發人員和管理人員在一個方便的環境中與他人一起完成創建和執行查詢,開發和調試MySQL程序,自動化管理MySQL數據庫對象等工作。
點擊下載dbForge Studio for MySQL最新試用版
當基于復雜的數據庫結構開發軟件應用程序時,通常需要在相同的輸入數據上運行各種業務邏輯測試方案。這就是重復恢復測試數據的問題所在。本文提供了僅使用一種工具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 //github.com/repository-name/sakila.git D:\Temp\DevOps_MySQL
其中:
repository-name
要克隆的存儲庫的名稱
sakila
包含要使用的測試數據的數據庫的名稱
注意:
在運行上述命令之前,請確保您的計算機上已安裝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數據庫開發和部署。立即下載dbForge Studio for MySQL!
好消息?。?!為慶祝慧都成立17周年”dbForge Studio for MySQL直降2000,在線訂購正版授權最低只要1026元! 點擊查看詳情>>
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: