首先關閉技術的東西:獲取存儲過程的源代碼控制
我們使用VS 2008 pro並運行MS SQL 2008服務器。對於sourcecontrol,我們使用Subversion。
我們真的很想將我們的存儲過程保留在subversion中,這樣我們就可以知道發生了什麼變化,何時等等。
然而,爲了這個工作,它必須是無縫的,否則開發人員會忘記獲取提交中包含的過程。
那麼有沒有什麼好的解決方案呢?
我敢肯定,我們不能是唯一的公司,這個問題:-)
首先關閉技術的東西:獲取存儲過程的源代碼控制
我們使用VS 2008 pro並運行MS SQL 2008服務器。對於sourcecontrol,我們使用Subversion。
我們真的很想將我們的存儲過程保留在subversion中,這樣我們就可以知道發生了什麼變化,何時等等。
然而,爲了這個工作,它必須是無縫的,否則開發人員會忘記獲取提交中包含的過程。
那麼有沒有什麼好的解決方案呢?
我敢肯定,我們不能是唯一的公司,這個問題:-)
我目前使用一個名叫SQL Source Control的免費工具來完成這個工作,它工作的很好,它插入SSMS。這裏有一個鏈接更多信息http://www.red-gate.com/products/SQL_Source_Control/index.htm我不得不提到這是目前在測試版,但與SVN和TFS的偉大工程。
在我們公司,我們使用的Visual Studio Team System中的Team Foundation Server跟蹤代碼的來源和存儲過程版本;存儲過程與其他任何代碼源一樣處理。
數據庫不會自動同步到TFS;所以,對於每一個新的SP需要:
,如果你需要修改:
當我們需要承諾到生產,我們正式要求DBA同步的新的/修改存儲過程對我們的生產數據庫下載和應用TFS的最新版本。
可能的問題情景:
很好的闡述:-) – Steffen 2010-03-25 08:44:15
在Visual Studio 2008中,您可以創建一個數據庫項目,該項目允許您存儲所有存儲過程s和任何其他SQL語句,然後將其放在Subversion中。
非常好 - 我怎麼設法永遠不會注意到我不知道的項目類型。然而,一個問題:我可以以某種方式與我當前的數據庫同步項目,還是我必須手動創建VS中的每一個存儲過程? – Steffen 2010-03-25 07:47:07
如果你有數據庫開發者版本,那麼是的:o)認爲這個鏈接可能會幫助你:http://www.vitalygorn.com/blog/post/2008/01/Handling-Database-easily-with-Visual-Studio- 2008.aspx – 2010-03-25 08:42:31
很不幸,我們只有「標準」親版本:-( 但感謝您的鏈接仍然:-) – Steffen 2010-03-25 19:42:13
如果您遵循敏捷方法,我建議您將「不要忘記提交SP」添加到您的完成,完成定義,以便它成爲您的過程的一個自然部分。
不幸的是,我們沒有使用敏捷,否則我完全同意:-) – Steffen 2010-03-25 07:47:39
我非常喜歡Visual Studio Team Edition for Database Professionals,如果您有Visual Studio Team Edition for Developers,現在可以免費使用它。它將允許您在離線模型中處理數據庫對象,並將其簽入到源代碼管理中。然後使用脫機模型自動生成部署腳本到數據庫。
唯一的缺點是價格。
恐怕價格將禁止我們採取這種方法:-( – Steffen 2010-03-25 08:45:11
我們有一個程序,可以在程序安裝/升級時進行任何所需的數據庫版本更改。
因此,爲了部署任何SQL代碼,它必須包含在該程序中(作爲我們的案例中的資源)。這使得自動版本編碼&將代碼添加到VS支持的源代碼管理系統。
是的東西是自制似乎是最可行的解決方案,除非公司想要支付的VS團隊版 不幸的是自制的應用程序需要時間來開發:-( – Steffen 2010-03-25 09:10:51
我會測試驅動它明天,它看起來很有希望:-) – Steffen 2010-03-25 19:41:44
上週發生了很多事情,所以我沒有時間去測試驅動器 還沒完成。然而,我現在正在接受它:-) – Steffen 2010-03-29 08:16:36
得把它交給你 - 這個工具就是我夢寐以求的一切! 它是如此精簡,並顯示漂亮的小圖標,如果你需要提交的東西等 非常非常好:-) – Steffen 2010-03-29 08:36:51