将ASP.NET MVC数据库部署到生产环境

时间:2011-05-17 15:35:54

标签: asp.net-mvc database sql-server-express

在将ASP.NET MVC应用程序部署到生产环境时如何部署数据库?

我创建了一个标准的ASP.NET MVC3应用程序,它为我的应用程序使用SQL Server 2008(尽管是Express)。我正在使用ASP.NET MVC应用程序附带的标准表单身份验证。

如果我必须为我的所有类(即非aspnet_*表)重新创建我的模式,那么我可以对生产数据库运行SQL脚本;但是aspnet_*表呢?

或者我应该只上传一个ASP.NET MVC空数据库(~10MB),然后运行我的脚本来创建我的表?当然,必须有更好的方法。

(一旦解决了这个问题,我计划使用SQL脚本或数据库迁移来处理更改;这只是生成初始数据库而不上传大约10MB .MDF的问题,我无法解决这个问题,因为aspnet_*表。)

3 个答案:

答案 0 :(得分: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

答案 1 :(得分:2)

您可以在(空)生产数据库上运行aspnet_regsql实用程序来生成aspnet_ *表。查看实用程序上的MSDN article

答案 2 :(得分:2)

您还可以使用Visual Studio部署数据库。

  1. 在VS中,打开数据库资源管理器窗口
  2. 添加与本地数据库的连接
  3. 右键单击数据库,然后选择“发布到提供商”
  4. db发布向导将打开
  5. 该向导允许您选择要部署的数据库对象(表,存储过程等)
  6. 选择“脚本到文件”选项,这将创建一个可以在prod db上运行的脚本
  7. 打开SQL Server Management Studio
  8. 连接到您的prod db
  9. 打开使用向导创建的脚本文件并执行脚本