我努力跟上數據庫更改,以及如何從一個發行版到另一個版本乾淨地維護和部署從Dev到PRD的數據庫更改。SQL Server數據庫更改部署
目前,我使用SQL腳本來確定自上次發佈以來發生了哪些變化;
- 由於我可以簡單地拖放和重新創建存在,因此Procs和Views更容易理解。
- 表格更改比較困難,因爲現有的表格不能簡單地刪除。
但我認爲我的主要問題是我無法得到我的頭是我們有多個迷你版本發展到任何兩個主要珠三角發佈之間的開發和UAT。
開發人員和UAT迷你版本都可以,只要我從其他開發人員獲得更改列表,然後將其與我的相結合,然後執行發佈,並且我是Dev和UAT DB上的系統管理員,因此我確切地知道那裏有什麼,當我應用這個變化時會發生什麼。
對於珠三角我要準備一個乾淨的腳本,並把它交給了DBA這樣他就可以在那裏,但除了表名,在珠三角列和數據我不能查看任何其他運行它。
這個PRD腳本應該捕捉幾乎所有迷你發行版中的所有內容,但大多數時候這些迷你發行版不是順序的,有時會互相否定,因爲在添加功能A之後,隨後的版本會刪除功能A但對於珠三角我們可能不得不添加功能A,因此不需要第二個小版本,這將有效地刪除特徵A.
所以總之,我正在尋找管理和跟蹤版本之間數據庫更改的方式,也是一個好方法爲DB更改構建部署腳本。
注意:我確實手動保留了TFS中所有SQL對象的副本。
我試過使用數據庫項目,但我沒有得到很多運氣達到我想要的。
任何想法傢伙?任何幫助非常感謝
感謝@Luis的詳細解釋;我認爲這一定是我的錯誤解釋,我無法正確地解決我的問題。我已經在我的部署腳本中遵循了一個序列,如果與您的佈局不同,它也是相似的。但我的主要問題或需要是以編程方式找出所有更改對象,而不是手動計算出已更改的內容。不過,我完全同意你的順序部分。 –
@RobertDinaro看看[Red Gate開發包](http://www.red-gate.com/products/sql-development/sql-developer-bundle/features#SOC),他們有工具來處理版本控制和比較和部署腳本。最有可能的是,他們可以通過編程的方式處理所有更改的對象_部分 –
謝謝@Luis - 這是一個不想花任何錢的公司工作變得更加痛苦:)但感謝您的幫助。非常感激。 –