翻譯|使用教程|編輯:莫成敏|2019-09-12 17:34:55.303|閱讀 421 次
概述:本教程將解釋如何在這種明顯混亂的開(kāi)發(fā)方法中,使用SQL Compare來(lái)維護(hù)對(duì)象級(jí)源代碼控制。和如何使用SQL Compare在Git中生成所有缺失的對(duì)象腳本,然后在開(kāi)發(fā)期間自動(dòng)更新它們以響應(yīng)任何進(jìn)一步的數(shù)據(jù)庫(kù)更改。本文為下半部分,主要介紹保持?jǐn)?shù)據(jù)庫(kù)和源控制目錄同步、優(yōu)化部署腳本和自動(dòng)化工作。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
SQL Compare是一款比較和同步SQL Server數(shù)據(jù)庫(kù)結(jié)構(gòu)的工具。現(xiàn)有超過(guò)150,000的數(shù)據(jù)庫(kù)管理員、開(kāi)發(fā)人員和測(cè)試人員在使用它。當(dāng)測(cè)試本地?cái)?shù)據(jù)庫(kù),暫存或激活遠(yuǎn)程服務(wù)器的數(shù)據(jù)庫(kù)時(shí),SQL Compare將分配數(shù)據(jù)庫(kù)的過(guò)程自動(dòng)化。
本教程將解釋如何在這種明顯混亂的開(kāi)發(fā)方法中,使用SQL Compare來(lái)維護(hù)對(duì)象級(jí)源代碼控制。和如何使用SQL Compare在Git中生成所有缺失的對(duì)象腳本,然后在開(kāi)發(fā)期間自動(dòng)更新它們以響應(yīng)任何進(jìn)一步的數(shù)據(jù)庫(kù)更改。本文為下半部分(點(diǎn)此查看上文),主要介紹保持?jǐn)?shù)據(jù)庫(kù)和源控制目錄同步、優(yōu)化部署腳本和自動(dòng)化工作。
保持?jǐn)?shù)據(jù)庫(kù)和源控制目錄同步
那么,如果我們對(duì)數(shù)據(jù)庫(kù)進(jìn)行更改會(huì)發(fā)生什么?讓我們添加一個(gè)視圖并找出答案。
現(xiàn)在我們?cè)赟QL Compare中刷新項(xiàng)目。
在完成整個(gè)過(guò)程后,我們將視圖標(biāo)記為SQL Compare中的更改
我們繼續(xù)點(diǎn)擊Deploy按鈕,并在本地源代碼控制目錄中出現(xiàn)一個(gè)新文件。請(qǐng)注意,時(shí)間已更改,但其他文件未更改。
Github客戶端檢測(cè)到存儲(chǔ)庫(kù)中的更改并邀請(qǐng)您提交更改。
我們將提交。
到目前為止,我們已經(jīng)建立了我們的Github存儲(chǔ)庫(kù)。我們已經(jīng)證明,要將更改保存到本地存儲(chǔ)庫(kù),我們需要做的就是刷新SQL Server項(xiàng)目。我們可以繼續(xù)前進(jìn)到 github的原點(diǎn)。
優(yōu)化部署腳本
在我們對(duì)同步過(guò)程的描述中,我們有點(diǎn)漫不經(jīng)心。您想要源代碼的方式可能有很多不同的需求。例如,您可能希望忽略與代碼的實(shí)際功能無(wú)關(guān)的更改。您可能需要比較以區(qū)分大小寫。您可能希望排除與安裝數(shù)據(jù)庫(kù)的方式或訪問(wèn)控制代碼有關(guān)的詳細(xì)信息。要做到這一點(diǎn),有很多旋鈕可以用來(lái)改變項(xiàng)目運(yùn)行的方式。我們?nèi)绱?放松的原因是我們將使用SQL Compare來(lái)完成所有構(gòu)建和部署,因此我們可以確信這些設(shè)置可以正常工作。但是,這些設(shè)置都是有原因的,無(wú)論是用于比較還是用于腳本構(gòu)建或部署。例如,可以將SQL Compare設(shè)置為忽略對(duì)象中的某些類型的差異,例如排序規(guī)則:如果數(shù)據(jù)庫(kù)位于具有區(qū)分大小寫排序順序的SQL Server上,則“用例敏感對(duì)象定義 ”選項(xiàng)是必不可少的。
如果您的腳本不適合您的要求,那么這些選項(xiàng)可能允許您更正它。選項(xiàng)隨項(xiàng)目一起保存,然后可以在GUI或命令行中使用。它們?cè)凇?strong>項(xiàng)目配置”對(duì)話框中進(jìn)行了修改。
隨著項(xiàng)目磨練到我們的要求并保存,我們現(xiàn)在在源代碼管理中擁有了數(shù)據(jù)庫(kù)。
您會(huì)注意到我們所做的一個(gè)缺陷。一切都保存在一個(gè)開(kāi)發(fā)人員的名下。如果我們?cè)诂F(xiàn)實(shí)中做到這一點(diǎn),我們通過(guò)使用“admin”用戶來(lái)強(qiáng)調(diào)這一點(diǎn)。
由于本文是關(guān)于我們需要采取的步驟來(lái)使數(shù)據(jù)庫(kù)進(jìn)入源代碼控制,我們將留下管理Github項(xiàng)目的具體細(xì)節(jié),但是個(gè)別程序員當(dāng)然可以在Github中以自己的ID保存他們的工作。或者任何其他源代碼控制系統(tǒng),即使SQL Compare等進(jìn)程正在將對(duì)象級(jí)源實(shí)際抽象到網(wǎng)絡(luò)共享上。
自動(dòng)化工作
保存了用于成功生成源的項(xiàng)目文件,以及發(fā)現(xiàn)新文件的后續(xù)刷新,您可以從命令行重新運(yùn)行它以獲取所有后續(xù)更改。顯然,這不適用于生產(chǎn)服務(wù)器,但您可以輕松地更改項(xiàng)目以與備份進(jìn)行比較。
要重用已保存的項(xiàng)目,我們將其稱為AdventureWorks.scp,從命令行中您只需使用此語(yǔ)法,提供項(xiàng)目文件的路徑:
sqlcompare /project:"C:\SQLCompare\Projects\AdventureWorks.scp“
使用項(xiàng)目有許多優(yōu)點(diǎn),而不僅僅是數(shù)據(jù)庫(kù)授權(quán)、路徑等。如果您只跟蹤對(duì)象的子集,它們也特別有用,因?yàn)樽詣?dòng)包含在保存項(xiàng)目時(shí)選擇進(jìn)行比較的所有對(duì)象。唯一的問(wèn)題是您選擇的非默認(rèn)選項(xiàng)。由于某種原因使用默認(rèn)值,因此您需要使用/ options開(kāi)關(guān)指定要使用的任何其他選項(xiàng)。此外,您不能將/ include和/ exclude開(kāi)關(guān)與/ project一起使用。
一旦項(xiàng)目的命令行版本運(yùn)行良好,就可以在工作站上的Windows調(diào)度程序或開(kāi)發(fā)SQL Server上安排它。
結(jié)論
在支持?jǐn)?shù)據(jù)庫(kù)開(kāi)發(fā)工作時(shí),重要的是您的工具可以支持團(tuán)隊(duì)工作的方式,而不是強(qiáng)加一種團(tuán)隊(duì)合作方式。這是因?yàn)橛泻芏嗖煌囊蟆?shù)據(jù)庫(kù)可以是購(gòu)買的應(yīng)用程序的一部分,執(zhí)行會(huì)計(jì)、采購(gòu)或工資單等組織工作。對(duì)數(shù)據(jù)庫(kù)的更改可能僅限于維護(hù)索引或約束。數(shù)據(jù)庫(kù)更改可能屬于由合規(guī)性確定的制度。它可能是一個(gè)敏捷的環(huán)境,可以持續(xù)交付,也可以是一個(gè)啟動(dòng)賽車,以便在應(yīng)用程序仍然獲得資助的情況下啟動(dòng)并運(yùn)行。當(dāng)考慮在支持一系列數(shù)據(jù)庫(kù)開(kāi)發(fā)方法時(shí)它有多么有用時(shí),SQL Compare是一個(gè)奇怪的命名工具。
金喜正規(guī)買球相關(guān)的文章:
SQL Compare教程:使用SQL Compare來(lái)維護(hù)對(duì)象級(jí)源代碼控制(上)
SQL Compare教程:工作示例——比較和部署兩個(gè)數(shù)據(jù)庫(kù)(上)
SQL Compare教程:工作示例——比較和部署兩個(gè)數(shù)據(jù)庫(kù)(下)
SQL Compare快照:輕量級(jí)數(shù)據(jù)庫(kù)版本控制和回滾機(jī)制(上)
SQL Compare快照:輕量級(jí)數(shù)據(jù)庫(kù)版本控制和回滾機(jī)制(下)
想要購(gòu)買SQL Compare正版授權(quán),或了解更多產(chǎn)品信息請(qǐng)點(diǎn)擊
掃描關(guān)注慧聚IT微信公眾號(hào),及時(shí)獲取最新動(dòng)態(tài)及最新資訊
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn