有没有人能指出我对Datadude(Visual Studio数据库项目)以及不做和不做的一个很好的演练,重点是远程部署?我们一直在使用它来版本化和更新我们自己的测试环境。我现在的问题是,在升级客户测试和生产环境时该怎么办?我一直在做一个简单的脚本并使用vsdbcmd和dbschema并直接在生产环境中创建更新脚本,但我对这种方法不太满意。理想情况下,从我的角度来看,我需要将数据库升级打包为“安装程序”(或安装的一部分,但现在不要进入 - WiX叹息*),执行数据库比较'现场' ,生成更新脚本,调用和回滚错误。
所以任何想法,我可能错过的好博文,我需要阅读的演练?
提前致谢!
/碧玉
答案 0 :(得分:0)
我可能错了,但我认为除了vsdbcmd之外还有其他任何东西可以做到这一点。是否可以在WiX安装程序中包含vsdbcmd?
您可能会考虑使用Red Gate SQL Packager,尽管这只能读取实际的数据库源,而不能读取VS数据库项目。它生成一个.exe或C#项目,您可以将其集成到现有的安装程序中。但是,这不会在现场进行比较,因此可能无法满足您的要求。
您最好的选择可能是使用Red Gate的SQL Comparison SDK在您的安装程序中插入代码以进行“现场”比较和部署。您可以在事务中运行升级脚本,因此如果脚本失败,则会发生回滚(但当然,必须在进行任何数据库更新之前运行备份!)。同样,'source'不能是VS数据库项目,但您可以使用模式快照,使用SQL Compare或免费的SQL Snapper工具生成模式快照。