我有一个MVC 4 Web应用程序,使用EF5中的代码优先迁移。在我的解决方案中,我有一个Windows Azure云服务项目,其中添加了MVC4应用程序作为Web角色。然后,它将发布到Azure中的Cloud Services实例。我可以毫无问题地发布,并且我已经设置了正确的web.config转换,因此部署的应用程序指向正确的Azure SQL数据库。我无法解决的一件事是如何让我的代码首次迁移在我发布时自动运行 - 或者甚至可以发布到云服务。
在我发布应用程序之后,它将很乐意创建与用户相关的数据库,但这是由于InitializeSimpleMembershipAttribute中的代码明确地这样做了。我可以在发布到云服务时自动运行代码第一次迁移,还是需要在我的应用程序中专门编写一些代码才能执行此操作?
答案 0 :(得分:2)
我最初考虑将此应用部署到云服务中的UAT环境。在阅读了一段时间之后,似乎普遍的共识是不使用自动迁移来部署到UAT或生产。相反,我将在开发期间使用基于代码的迁移,然后当我想将更改发布到UAT时,我将使用update-database -Script -ConnectionString "uatconnectionstringhere"
语法为UAT数据库生成脚本。
如果有人确实希望让它们自动运行,则详细信息为here。