2010-03-25 57 views
4

首先關閉技術的東西:獲取存儲過程的源代碼控制

我們使用VS 2008 pro並運行MS SQL 2008服務器。對於sourcecontrol,我們使用Subversion。

我們真的很想將我們的存儲過程保留在subversion中,這樣我們就可以知道發生了什麼變化,何時等等。

然而,爲了這個工作,它必須是無縫的,否則開發人員會忘記獲取提交中包含的過程。

那麼有沒有什麼好的解決方案呢?

我敢肯定,我們不能是唯一的公司,這個問題:-)

回答

2

我目前使用一個名叫SQL Source Control的免費工具來完成這個工作,它工作的很好,它插入SSMS。這裏有一個鏈接更多信息http://www.red-gate.com/products/SQL_Source_Control/index.htm我不得不提到這是目前在測試版,但與SVN和TFS的偉大工程。

+0

我會測試驅動它明天,它看起來很有希望:-) – Steffen 2010-03-25 19:41:44

+0

上週發生了很多事情,所以我沒有時間去測試驅動器 還沒完成。然而,我現在正在接受它:-) – Steffen 2010-03-29 08:16:36

+0

得把它交給你 - 這個工具就是我夢寐以求的一切! 它是如此精簡,並顯示漂亮的小圖標,如果你需要提交的東西等 非常非常好:-) – Steffen 2010-03-29 08:36:51

3

在我們公司,我們使用的Visual Studio Team System中的Team Foundation Server跟蹤代碼的來源和存儲過程版本;存儲過程與其他任何代碼源一樣處理。

數據庫不會自動同步到TFS;所以,對於每一個新的SP需要:

  1. 創建它
  2. 將它添加到TFS
  3. 入住
  4. 添加到數據庫

,如果你需要修改:

  1. 查看TFS
  2. 修改源
  3. 入住在TFS
  4. 修改對數據庫

當我們需要承諾到生產,我們正式要求DBA同步的新的/修改存儲過程對我們的生產數據庫下載和應用TFS的最新版本。

可能的問題情景:

  1. 懶惰的開發者(比如我)修改SP直接的Sql 服務器上,不要在TFS對齊的代碼
  2. 瘋狂的開發商(像我)忘了簽入 最新固定版本和Dba對齊 生產中被竊聽的對象
+0

很好的闡述:-) – Steffen 2010-03-25 08:44:15

3

在Visual Studio 2008中,您可以創建一個數據庫項目,該項目允許您存儲所有存儲過程s和任何其他SQL語句,然後將其放在Subversion中。

+0

非常好 - 我怎麼設法永遠不會注意到我不知道的項目類型。然而,一個問題:我可以以某種方式與我當前的數據庫同步項目,還是我必須手動創建VS中的每一個存儲過程? – Steffen 2010-03-25 07:47:07

+1

如果你有數據庫開發者版本,那麼是的:o)認爲這個鏈接可能會幫助你:http://www.vitalygorn.com/blog/post/2008/01/Handling-Database-easily-with-Visual-Studio- 2008.aspx – 2010-03-25 08:42:31

+0

很不幸,我們只有「標準」親版本:-( 但感謝您的鏈接仍然:-) – Steffen 2010-03-25 19:42:13

1

如果您遵循敏捷方法,我建議您將「不要忘記提交SP」添加到您的完成,完成定義,以便它成爲您的過程的一個自然部分。

+0

不幸的是,我們沒有使用敏捷,否則我完全同意:-) – Steffen 2010-03-25 07:47:39

0

我非常喜歡Visual Studio Team Edition for Database Professionals,如果您有Visual Studio Team Edition for Developers,現在可以免費使用它。它將允許您在離線模型中處理數據庫對象,並將其簽入到源代碼管理中。然後使用脫機模型自動生成部署腳本到數據庫。

唯一的缺點是價格。

+0

恐怕價格將禁止我們採取這種方法:-( – Steffen 2010-03-25 08:45:11

0

我們有一個程序,可以在程序安裝/升級時進行任何所需的數據庫版本更改。

因此,爲了部署任何SQL代碼,它必須包含在該程序中(作爲我們的案例中的資源)。這使得自動版本編碼&將代碼添加到VS支持的源代碼管理系統。

查看more in-depth description of our system後面的鏈接。

+0

是的東西是自制似乎是最可行的解決方案,除非公司想要支付的VS團隊版 不幸的是自制的應用程序需要時間來開發:-( – Steffen 2010-03-25 09:10:51