2

在Visual Studio 2008中使用'sqlserver 2005數據庫項目'的最佳實踐是什麼?在Visual Studio 2008中使用sql server 2005數據庫項目的最佳實踐

我已經創建了一個項目文件。 如何爲存儲過程,視圖和表創建腳本? 我將如何生成腳本來填充某些查找數據?

在數據庫已部署到生產環境後,可能需要在生產服務器上運行的修改如何處理。 (我想我會創建由部署日期與所有更改腳本命名的文件夾)

有沒有辦法讓團隊建設拆除和重建數據庫,以測試所有的腳本工作?

我一直沒能找到散步扔在網上。如果你能指出我正確的方向,將不勝感激。

謝謝

回答

1

管理的生命週期的任何數據庫,無論技術的最佳實踐,主要有:

  1. 你應該能夠建立你的項目一步到位。這包括運行單元測試,集成測試,迴歸測試以及擴展測試您的遷移。 (當然,這是The Joel Test中的第2點。)
  2. 通過擴展,您應該能夠一步部署數據庫更改。

至少,您應該從自動構建中獲得一些東西,您可以在生產服務器上運行而無需調整,以便在升級程序時將數據庫升級到新版本。 Ruby on Rails遷移是應該如何完成的一個很好的例子。

不幸的是,SQL Server 2005數據庫項目採用了一種完全不同的方法,就我所見,它完全不符合這些原則。他們確實提供了「增量部署」,但似乎完全基於模式比較工具。模式比較作爲一個起點是有用的,但是有許多數據庫重構是他們無法處理的,而且往往不得不調整它們(一個過程由於冗長而難以處理而變得更加困難)閱讀,他們產生的意大利麪條代碼。)

我寫了一篇博客文章,其中我的文章是examine these issues in more detail

1

我一般不會在VS中使用數據庫項目類型。我最喜歡處理數據庫的工具是Red Gate's SQL Compare(SQL Data Compare也很好)。總是腳本與qa/production不同步,這個工具可以拯救你的生命(至少可以節省你的時間和精力)。

+0

我同意,他們的SQL比較工具在比較數據庫時是驚人的。它會向您顯示模式更改的確切位置。 – GluedHands 2008-12-20 01:28:20

相關問題