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