Visual Studio (2010) gui提供了用于为目标指定第二命令变量文件的选项。但是,我找不到用于命令行实现的这个选项- vsdbcmd.exe。
运行vsdbcmd deploy for dbschema to dbschema,只使用源模型命令变量,给定的结果是,实现这些变量的对象被视为发生了更改。导致不正确(不正确)的更新脚本。
我目前使用的命令:
vsdbcmd.exe /a:deploy /dd:- /dsp:sql /model:Source.dbschema /targetmodelfile:Target.dbschema /p:SqlCommandVariablesFile=Database.sqlcmdvars /manifest:Database.deploymanifest /DeploymentScriptFile:UpdateScript.sql /p:TargetDatabase="DatabaseName" 我要找的是/p:TargetSqlCommandVariablesFile,如果这样的东西存在的话…
结果脚本与运行so GUI compare时相同,但不指定目标的sqlcmd变量
发布于 2013-03-28 06:17:18
我在this link上找到了看起来像是VSDBCMD.EXE的完整文档。
我想你可能在寻找类似这样的东西:
/p:SqlCommandVariablesFile=Filepath发布于 2013-01-15 22:33:06
最后,我没有找到我所要求的可能性的信息-使用IL spy检查vsdbcmd库中的隐藏参数-没有找到任何信息。
通过解析目标和当前的dbschema文件,并将cmd变量值直接解析为它们,然后对修改后的dbschema进行比较,达到了我的目标。这种方法不再允许在结果脚本中更改sql cmd变量(因为值已经包含在代码中),但是这被认为是可接受的损失。
这不是最好的解决方案,但到目前为止我还没有遇到任何问题。
https://stackoverflow.com/questions/13708690
复制相似问题