.net 使用MSDeploy自动迁移数据库
我是一个持续交付迷,我热衷于自动化构建、测试和部署过程。我真正需要帮助的一件事是,在自动化部署中部署数据库迁移脚本时,最佳做法是什么。这些是我的技术堆栈的相关细节.net 使用MSDeploy自动迁移数据库,.net,sql-server,continuous-integration,msdeploy,webdeploy,.net,Sql Server,Continuous Integration,Msdeploy,Webdeploy,我是一个持续交付迷,我热衷于自动化构建、测试和部署过程。我真正需要帮助的一件事是,在自动化部署中部署数据库迁移脚本时,最佳做法是什么。这些是我的技术堆栈的相关细节 ASP.NET MVC 3网站 VisualStudio2010数据库项目 SQL Server 2008 R2数据库 Windows Server 2008 R2 通过Web Deploy 2.0(MS Deploy)进行远程部署 目前,我能够使用WebDeploy2.0工具部署我们的ASP.NETMVC网站(哇,设置起来很有趣
- ASP.NET MVC 3网站
- VisualStudio2010数据库项目
- SQL Server 2008 R2数据库
- Windows Server 2008 R2
- 通过Web Deploy 2.0(MS Deploy)进行远程部署
啊!看起来确实很复杂。我以前读过这方面的文章,我希望有更好的方法。目前,我仍然倾向于使用MSDeploy'runCommand'提供程序来执行SQLCMD。您实际上可以指定一个SQL脚本作为dbFullSql提供程序的“源”(
-source:dbFullSql=“C:\SQLCMD.SQL”
),它只需运行该脚本即可。我以前使用过它来部署一个定制的迁移脚本管理工具,该工具可以生成
我真的希望数据库项目对CD更友好,因为当需要数据库重构时,“自动”功能往往会很快崩溃
参考资料我只是想澄清一下,我没有删除我自己的答案,其他人删除了,显然认为它离题了。考虑到问题的性质,我并不认为我的回答不恰当,相反,我认为删除答案是不恰当的。@tdykstra:我没有删除它,但根据OP指定MSDeploy作为部署机制,它是离题的。我碰巧相信这是正确的答案,只是可能不是这个问题的正确答案。如果OP愿意,他应该问一个问题,包括可能使用VSDBCMD。我正在寻找一个特定于MSDeploy的解决方案。我不记得tdykstra的答案是什么,但提供的链接确实让我找到了我在问题中提到的自定义WPP目标解决方案。谢谢。这似乎是Ms Deploy 2.0的最佳解决方案。我期待着查看3.0中提到的“代码优先”数据迁移。@seglo-我还没有听说过,但听起来很有希望。有链接吗?我在这里听说Windows Azure web发布支持代码优先迁移。Sayed要么在微软工作,要么和微软的Web部署团队有联系。他参加了很多关于MSDEPLOY的讨论。