2009-01-09 95 views
2

我正在使用VSTS数据库版本源控制数据库的GDR版本并生成部署脚本。它工作得很好,但问题是,它似乎只处理脚本和部署架构。它不会处理脚本和部署实际数据本身(即查找和站点数据也可以与数据库一起部署)。从VSTS数据库版本生成数据更改脚本

我知道这很容易手动编写部署脚本,但这是每个人都做的吗?是否有推荐的方式使用VSTS部署引擎部署数据?有没有一些工具可以解决这个问题 - 我并不是说像SQLCompare这样的完整产品,只是填补了VSTS DB的空白。

在此先感谢。

金田

回答

0

GDR自带的数据比较引擎,但据我已经能够告诉到目前为止数据比较可以甚至可以不是存储在一个项目(更不用说适当的支持由它) - 所以它是非常特设的。与架构比较不同,没有File \ Save As。

比较引擎可以是automated via DDE,但这是Visual Studio IDE中的自动化,并不适用于某种脚本化的安装过程。就像任何事情一样,我无法看到指定要在比较中包括哪些表格(因为您通过DDE所做的所有工作都是打开向导供用户选择)

或者,所有功能似乎都驻留在Microsoft.VisualStudio.TeamSystem.DataPackage.dll,但由于API文档尚未编写(随GDR附带的帮助doco充满了错误),这将会是一次碰撞和碰撞冒险找出从哪里开始。

作为一个使用RedGate的SqlCompare,SqlDataCompare和他们各自的API来做到这一点的人,大部分的GDR功能似乎对我来说有点不完整。

这次我可能会做的是将数据与SSIS包同步(在构建时导出为CSV /安装时从CSV导入),但我更愿意使用SqlDataCompare API(或SqlPackager ) 马上。

2

的VSTS:DB最佳做法博客advocates using post-deployment scripts插入基准数据到临时表,然后更新基于所述增量目标表(即更新X内加入temp其中x.something <> temp.something)

有一些suggestionsfloating周围,这可能会使一个powertool,并且至少有一个MVP有written a tool to generate those scripts

(注:我没有尝试这样做 - 我才刚刚发现了它自己)

个人而言,我仍然会与展鹏坚持,如果我在这个问题上的任何选择。