2011-05-17 44 views
2

如何在將ASP.NET MVC應用程序部署到生產環境時部署數據庫?將ASP.NET MVC數據庫部署到生產

我已經創建了一個標準的ASP.NET MVC3應用程序,該應用程序使用SQL Server 2008(儘管Express)用於我的應用程序。我正在使用ASP.NET MVC應用程序附帶的標準表單身份驗證內容。

如果我必須重新創建我的模式,對於我所有的類(即非aspnet_*表),那麼我可以運行SQL腳本來對付生產數據庫;但是aspnet_*表呢?

或者我應該簡單地上傳一個ASP.NET MVC空DB(〜10MB),然後運行我的腳本來創建我的表?當然,一定有更好的辦法。 (一旦解決了這個問題,我打算使用SQL腳本或數據庫遷移來處理更改;這只是在生產環境中生成初始數據庫而不上傳大約10MB .MDF的問題,因爲我無法解決這個問題,因爲aspnet_*表。)

回答

4

您可以使用位於C:\ Windows \ Microsoft.NET \ Framework [您的框架]下的aspnet_regsql.exe在您的數據庫中生成架構。

運行:

aspnet_regsql.exe /? 

,你會看到所有這一切都需要執行的命令行選項。 -A可讓您指定要創建的功能(即表格)。例如,如果您不使用角色,則可以使用-A mp

您可以選擇讓它直接修改數據庫,或者改爲創建一個可以運行的腳本。一些細節在這裏:http://weblogs.asp.net/lhunt/archive/2005/09/26/425966.aspx

+0

由於腳本文件。這是典型的ASP.NET MVC部署到生產嗎? – ashes999 2011-05-17 15:47:43

+1

許多人使用RedGate SQL Compare等工具來遷移架構(或數據)更改) – RedFilter 2011-05-17 16:20:04

+0

這也會生成存儲過程,對不對? – ashes999 2011-05-17 16:45:22

2

您可以在您的(空)生產數據庫上運行aspnet_regsql實用程序來生成aspnet_ *表。查看該實用程序上的MSDN article

2

您也可以使用Visual Studio部署數據庫。

  1. 在VS,打開數據庫瀏覽器窗口
  2. 添加到您的本地數據庫連接的數據庫上
  3. 單擊鼠標右鍵,選擇「發佈到供應商」
  4. 的數據庫發佈嚮導將打開
  5. 該向導允許您選擇要部署哪些數據庫對象(表,存儲過程等)
  6. 選擇'腳本到文件'選項,它將創建一個腳本,您可以在您的prod db上運行
  7. 打開SQL Server Management Studio中
  8. 連接到您的督促分貝
  9. 打開您使用嚮導創建並執行腳本
+0

+1很好的解決方案。但我寧願擁有腳本中的所有東西,我可以運行它來填充我的數據庫。另外,這就是遷移本質上是如何工作的,並且符合這一點的解決方案就是我正在尋找的。 – ashes999 2011-05-17 22:48:28