在将ASP.NET MVC应用程序部署到生产环境时如何部署数据库?
我创建了一个标准的ASP.NET MVC3应用程序,它为我的应用程序使用SQL Server 2008(尽管是Express)。我正在使用ASP.NET MVC应用程序附带的标准表单身份验证。
如果我必须为我的所有类(即非aspnet_*
表)重新创建我的模式,那么我可以对生产数据库运行SQL脚本;但是aspnet_*
表呢?
或者我应该只上传一个ASP.NET MVC空数据库(~10MB),然后运行我的脚本来创建我的表?当然,必须有更好的方法。
(一旦解决了这个问题,我计划使用SQL脚本或数据库迁移来处理更改;这只是生成初始数据库而不上传大约10MB .MDF的问题,我无法解决这个问题,因为aspnet_*
表。)
答案 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部署数据库。