小编P D*_*Dub的帖子

MSBuild:自动收集db迁移脚本?

环境概要.

  • Asp.net Web应用程序(源代码存储在svn中)
  • SQL Server数据库.(存储在svn中的数据库模式(表/ sprocs))
  • db版本与Web应用程序程序集版本同步.(存储在表'CurrentVersion'中)
  • CI哈德森服务器从repo检出web应用程序并运行自定义msbuild文件发布/打包应用程序.

我的msbuild脚本在每个构建上更新Web应用程序的组装版本(Major.Minor.Revision.Build).'Revision'设置为当前检出的svn版本,并将'Build'设置为hudson内部版本号(在每个自动构建时递增).

这样我可以将应用程序与特定的主干版本匹配,也可以从hudson内部版本号获取其他构建统计信息.

我想自动收集迁移脚本(更新的sprocs等)以添加到zip包中.我想通过将尚未部署的db的svn版本与正在部署的版本进行比较,我可以找到自上次部署到该数据库/环境以来干线中哪些db文件已更改.

这可以通过手动调用svn diff -r REVNO:REVNO命令列出已更改的.sql文件来轻松实现.然后可以手动将这些文件添加到包中.如果这可以自动化将会很棒.

首先,我想我必须编写一个自定义任务来检查尚未部署到的数据库的版本.在那之后,我很不确定.有没有人对如何通过现有或自定义的msbuild任务实现这一点有任何建议?

最后,我必须自动将脚本添加到更新数据库版本表的包中,以便与应用程序保持同步.

svn sql-server asp.net msbuild continuous-integration

7
推荐指数
1
解决办法
1004
查看次数